The train is moving under the bridge.
I know this is fine.
But, what about the following?
- The train is moving over the bridge.
- The train is moving on the bridge.
You can use either, depending on context.
If you are talking about a single point in time, it's "on". if you're talking about an action, ie something that takes a finite time, then it's "over".
eg single instant of time:
"Where is the train?" "It's on the bridge."
Alternatively, for an action (taking some time):
"When will the train arrive?" "In a couple of minutes - it just has to travel over the bridge and then it will be in the station."
This seems inconsistent, but if you used "on" in the above sentence, it doesn't get across the idea of the train coming onto the bridge, travelling the length of the bridge, and exiting the bridge. Eg if i said
"The train will be here soon - it just needs to travel on the bridge."
This sounds like the train will drive onto the bridge, stop, and then the bridge itself will start moving and carry the train into the station, which isn't going to happen (probably - these sorts of bridges exist for cars and might exist for trains, but they are very rare).
I think this is because "on" implies that the object is not moving (relative to the thing that it is on): either because we're talking about it at a single instant in time, or because it has actually stopped.
Conversely, if you used "over" for a single instant of time, like this
"Where is the train?" "It's over the bridge."
This sounds like the train is floating in the air, or perhaps (more plausibly) on another bridge which crosses above the first bridge.
'On' is a prepositon of location; and so anything that is stationery, we will say 'On the bridge'. Also for something moving, as long as it is between the two ends of the bridge, we sill say 'On the bridge. 'Over' is a preposition of location and a propostion of direction.