【问题标题】:What would cause this button & text to not be inline?什么会导致此按钮和文本不内联?
【发布时间】:2012-08-08 16:19:33
【问题描述】:

情况:我们的应用程序标题行中有 3 个按钮。格式如下:

<ul> class="menu dropdown clearfix">
    <li class="{buttonlabel}">
        <a href="#">
            <span> </span>
            <strong>{ButtonLabel}</strong>
        </a>
</li>

&lt;span&gt; CSS 有一个背景图像来显示一个图标(大约 20 像素正方形)。

所以,基本上,您已经获得了作为按钮的内联无序列表项。每个列表项都有一个 span(图标)和一个 strong(按钮标签)。

现在--2 台计算机/用户。相同的操作系统(Mac)。相同的浏览器(Chrome)。相同的网站/网址。一位用户按预期看到它们 - 也就是说,所有列表项彼此内联,然后列表项中的内容(按钮和标签)也是内联的 - 按钮然后是标签。

其他用户将每个列表项中的内容视为块(有效)。在顶行显示图标。然后一个中断(不是文字 html 中断,只是下一行),并且按钮标签显示在图标下方。他们的左边距对齐。

我尝试通过缩小浏览器宽度来重现“工作”列表项,以查看按钮是否在某个时候“中断”到更小的状态——它们没有。

&lt;li&gt; 显示值为 display: list item(宽度自动继承)。 &lt;a&gt; 标签是 display: block(宽度自动继承)。 &lt;span&gt; 是 display:inline-block,具有编码宽度 (24px)(不是自动宽度或继承宽度)。 &lt;strong&gt; 也是 display: inline-block, width: auto (inherited)。

更糟糕的是,看到错误内容的用户说周一是正常的,周二是错误的。

想法?

【问题讨论】:

  • 检查每个浏览器中的开发工具,看看到底发生了什么。
  • display: list-item 不是默认的垂直对齐项目吗?那也不需要 inline 或 inline-block 吗?
  • Marc B,我当然做到了。我实际上无法重现该问题(线路中断),因此开发工具并没有真正向我展示发生了什么。另外,我在哥伦布,有问题的用户在芝加哥。克里斯——我也这么认为,但这会/应该影响按钮系列,而不是按钮内的内容(每个按钮都已明确声明为内联块)。另外——再补充一点——我没有写原始代码,我只是支持它。
  • 啊,不好意思,有点误会了。你有没有让用户清除他们的缓存等,以防他们缓存了旧的样式表或其他东西?不知道您的缓存有多激进,但这种问题(两个用户显然看着相同的东西,但看到的东西不同)听起来可能是这样的......
  • 这是我们现在的下一步——缓存和可能的不同版本的 Chrome...

标签: html css


【解决方案1】:

听起来你应该在周一加载备份,并在周二做一个“差异”来看看有什么变化,因为它以前工作过,这可能不是运行它的平台的错,而是有人更改了代码,使得一个浏览器能够解析它而另一个不能。人为错误是发明版本控制的原因。

如果这不起作用,请记住验证您的 XHTML 和 CSS,以确保错误语法不是问题。这些验证器的目的是确保如果有效,则代码将按预期显示,如果不正确,则为浏览器制造商的错误,应将其报告为错误。

http://validator.w3.org/

http://jigsaw.w3.org/css-validator/

【讨论】:

  • 我很肯定这个 CSS 上的代码验证器会非常糟糕,我以前做过。我会将其他评论转给我的开发同事,看看他的想法!谢谢!
  • 顺便说一句,我们使用颠覆,所以是的,版本控制就在那里。但这实际上是两个用户,相同的操作系统,相同的浏览器,同时查看相同的代码库/URL,得到两个不同的结果。
【解决方案2】:
hai i think you initalize the class out of ul tag. so you put the class in inside ul tag.


<ul class="menu dropdown clearfix">
    <li class="{buttonlabel}">
        <a href="#">
            <span> </span>
            <strong>{ButtonLabel}</strong>
        </a>
   </li>
</ul>

【讨论】:

  • 所以,首先,我没有创建代码——我正在尝试调试它。 {buttonlabel} 和 {ButtonLabel} 实际上是不同的。例如,一个列表项/按钮是 li 的“时间”和实际按钮文本的“我的时间”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 2012-12-03
相关资源
最近更新 更多