【问题标题】:Last inherited display property is inline but computed is block. How is this even possible?最后继承的显示属性是内联的,但计算的是块。这怎么可能?
【发布时间】:2013-06-24 23:20:28
【问题描述】:

我正在设计一个<input type="text"> 元素。 我想让它拥有display:inline;。我通过在最后调用的 css 文件的最后一行中定位这个元素来做到这一点。由于某种原因,该元素不会接管 display:inline; 属性(请参阅下面的 Firebug 图像)。

这怎么可能?

【问题讨论】:

  • 试试!important 还是display:inline !important;
  • @Stano:报告同样的事情

标签: css firebug


【解决方案1】:

因为您的input 元素是向左浮动的,所以根据 CSS 规范将 display 的计算值设置为 block。

参考:http://www.w3.org/TR/CSS2/visuren.html#dis-pos-flo

评论

我不希望使用 !important 声明会覆盖计算值。

【讨论】:

  • 感谢您的解释和参考!事实上,!important 并没有覆盖任何东西。
【解决方案2】:

我有这个结构:

<div class="parent">
  <input type="checkbox"/>
  <label>Some awesome label</label>
</div>

div.parent 被设置为display: flex 并导致inputlabel 继承display: block。我花了一段时间才找到原因,但将父 div 更改为 display: block 解决了这种情况。

【讨论】:

  • 感谢您的回答,您为我节省了 2 小时的存在性 CSS 问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-11
  • 2015-11-24
  • 1970-01-01
  • 2020-05-10
  • 2012-02-21
  • 2019-08-01
相关资源
最近更新 更多