As pointed by Craig Gidney's answer, there might exist different definitions.
Another important definition consists in saying that a logical gate $G_L$ is being implemented transversally if each physical qubit composing the logical qubit on which $G_L$ has to be implemented does not interact with any other physical qubit composing this same logical qubit ( * )
In the particular case of a single qubit logical gate, for a logical qubit composed of $n$ physical qubits, it means that:
$$G_L = \otimes_{i=1}^n G_i$$
Where $G_i$ is a single qubit physical gate acting on the $i$'th physical qubit of the logical qubit. Note that the $G_i$'s can all be different.
For a logical two qubit gate between two logical qubits, a typical example of a transversal operation consists in saying that the physical qubit $i$ of the first logical qubit will only interact with the physical qubit $i$ of the second logical qubit. For instance the image below describes a transversal cNOT for the seven qubit Steane code (in this case all the physical gates are identical, but again this is not a requirement in general)
The interest in considering such gates is that they don't propagate errors. Typically if a given physical qubit in one logical qubit has an error, it won't propagate on two physical qubits having an error on this same logical qubit after the transversal implementation (because two physical qubits within the same logical one will not interact).
Of course, for two-qubit gates, one error might induce two errors, but they will affect two different logical qubits. It is not a problem because the danger only comes from having multiple physical errors inside the same logical qubit. Different logical qubits are associated with independent error correction procedures and you can resist single-qubit errors occuring on different logical qubits.
( * ) In the context of concatenated codes, because you have different concatenation levels, the definition I am giving should be "generalized". It is done by saying that the $i$'th qubit of a given codeblock will only interact with the $i$'th qubit of any other codeblock, but this is really the same spirit as the one I am providing in this answer. The story gets more complicated because you have different "levels" (concatenation levels) to define your logical qubits.
A ref for this. Look at the last paragraph of page 22.