【问题标题】:What's the standard behavior of float:right following float:left?float:right 跟随 float:left 的标准行为是什么?
【发布时间】:2012-05-10 22:13:32
【问题描述】:

假设有这样的HTML标签:

​<span>
  <span id='s1'>Text 1</span>
  <span id='s2'>Text 2</span>
</span>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

而css样式是:

​#s1 {
  float: left;
}
#s2 {
  float: right;
}

显示器的标准行为是什么?

在某些浏览器中,我看到了

文字 1 文字 2

在某些版本的 IE 中,我看到了

文字 1

         Text 2

似乎 float:right 跨度被推到下一行。

【问题讨论】:

  • 必须提供span 的宽度以获得任何有用/标准的行为。

标签: html css css-float


【解决方案1】:

现代浏览器会正确计算收缩后的浮动的宽度并使其位于同一行,前提是浮动的宽度不超过父元素的宽度。我相信这是渲染的正确行为。

Internet Explorer ( 5, 6, 7 ) 不会以相同的方式呈现它们,因为它无法计算收缩包装的浮点数的宽度,因此除非您明确定义宽度,否则它将向下推送到下一行。

【讨论】:

  • 必须定义哪个元素的宽度?
【解决方案2】:

默认情况下,&lt;span&gt; 是一个内联元素。使用您提供的确切标记,所有浏览器都应该在同一行显示这两个,除非两个 &lt;span&gt;s 组合的计算宽度大于当前行的长度。

【讨论】:

    猜你喜欢
    • 2013-10-27
    • 1970-01-01
    • 2012-09-11
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多