I see something like the following in code examples on StackOverflow and in themes for sale even (never in Bootstrap\'s examples).
Your frustration is right.. Because Bootstrap 3+ is mobile first, any col-classes you declare travel up, meaning they apply to the declared device (xs, sm, md, lg) and larger. So, Also, if you don't declare an xs class, the layout will default to col-*-12 once below the smalles col-class you do declare. e.g. This being said, you should always declare at least one col-class, so it gets the relevant padding and other styling specifics. col-xs-12 col-sm-12
is redundant. Just use col-xs-12
for the same effect. sm
and up, but full-width on xs
. Whereas md
and up, but full width on sm
and xs
.