Situation: 3 buttons in our application's header row. Formatted like:
<ul> class="menu dropdown clearfix">
<li class="{buttonlabel}">
<a href="#">
<span> </span>
<strong>{ButtonLabel}</strong>
</a>
</li>
The <span>
CSS has a background-image to display an icon (appx 20px square).
So, basically, you've got inline unordered list items that are the buttons. Each list item has a span (the icon) and a strong (the button label).
Now--2 computers/users. Same OS (Mac). Same browser (Chrome). Same website/URL. One user sees them as expected--which is, all of the list items are inline with each other, and then the content within the list items (the button and label) are also inline--button then label.
The other user sees the content within each list item as block (effectively). On the top line the icon is displayed. Then a break (not literal html break, just next line) and the button label is displayed below the icon. Their left margins line up.
I tried to reproduce on the 'working' list items by shrinking browser width to see if the buttons 'broke' to a smaller state at some point--they didn't.
The <li>
display value is display: list item (width auto inherited). The <a>
tag is display: block (width auto inherited). <span>
is display:inline-block, with a coded width (24px) (not width auto or inherited width). The <strong>
is also display: inline-block, width: auto (inherited).
What makes it worse is that the user seeing the wrong thing said it was normal Monday, wrong Tuesday.
Thoughts?