tag is a paragraph, and as such, it is a block element (as is, for instance, h1 and div), whereas span is an inline element (as, for instance, b and a) Block elements by default create some whitespace above and below themselves, and nothing can be aligned next to them, unless you set a float attribute to them.