【发布时间】:2012-08-08 16:19:33
【问题描述】:
情况:我们的应用程序标题行中有 3 个按钮。格式如下:
<ul> class="menu dropdown clearfix">
<li class="{buttonlabel}">
<a href="#">
<span> </span>
<strong>{ButtonLabel}</strong>
</a>
</li>
<span> CSS 有一个背景图像来显示一个图标(大约 20 像素正方形)。
所以,基本上,您已经获得了作为按钮的内联无序列表项。每个列表项都有一个 span(图标)和一个 strong(按钮标签)。
现在--2 台计算机/用户。相同的操作系统(Mac)。相同的浏览器(Chrome)。相同的网站/网址。一位用户按预期看到它们 - 也就是说,所有列表项彼此内联,然后列表项中的内容(按钮和标签)也是内联的 - 按钮然后是标签。
其他用户将每个列表项中的内容视为块(有效)。在顶行显示图标。然后一个中断(不是文字 html 中断,只是下一行),并且按钮标签显示在图标下方。他们的左边距对齐。
我尝试通过缩小浏览器宽度来重现“工作”列表项,以查看按钮是否在某个时候“中断”到更小的状态——它们没有。
<li> 显示值为 display: list item(宽度自动继承)。 <a> 标签是 display: block(宽度自动继承)。 <span> 是 display:inline-block,具有编码宽度 (24px)(不是自动宽度或继承宽度)。 <strong> 也是 display: inline-block, width: auto (inherited)。
更糟糕的是,看到错误内容的用户说周一是正常的,周二是错误的。
想法?
【问题讨论】:
-
检查每个浏览器中的开发工具,看看到底发生了什么。
-
display: list-item不是默认的垂直对齐项目吗?那也不需要 inline 或 inline-block 吗? -
Marc B,我当然做到了。我实际上无法重现该问题(线路中断),因此开发工具并没有真正向我展示发生了什么。另外,我在哥伦布,有问题的用户在芝加哥。克里斯——我也这么认为,但这会/应该影响按钮系列,而不是按钮内的内容(每个按钮都已明确声明为内联块)。另外——再补充一点——我没有写原始代码,我只是支持它。
-
啊,不好意思,有点误会了。你有没有让用户清除他们的缓存等,以防他们缓存了旧的样式表或其他东西?不知道您的缓存有多激进,但这种问题(两个用户显然看着相同的东西,但看到的东西不同)听起来可能是这样的......
-
这是我们现在的下一步——缓存和可能的不同版本的 Chrome...