If you take a look at the bootstrap css you will notice the following code:
@media (max-width: 767px) {
.hidden-xs {
display: none !important;
}
}
@media (max-width: 767px) {
.visible-xs {
display: block !important;
}
table.visible-xs {
display: table !important;
}
tr.visible-xs {
display: table-row !important;
}
th.visible-xs,
td.visible-xs {
display: table-cell !important;
}
}
As you can see there is not much secret, visible-*
classes receive display: block
and hidden-*
receive display: none
, the difference is the use of @media
that verify which resolution specifies to be triggered by class.
There is also the class hidden
, which acts on all resolutions.
Some examples of how they run: Jsfiddle