美文网首页工作生活css
2019-07-04 浮动和绝对定位相遇(出现兼容性问题)

2019-07-04 浮动和绝对定位相遇(出现兼容性问题)

作者: 李华峰0722 | 来源:发表于2019-07-04 22:29 被阅读0次

浮动和绝对定位相遇 (参照《CSS世界》P190)

看下面这个例子:

<div class="nav">导航1</div>
<img src="new.png" class="follow">
<div class="nav">导航2</div>
.nav {
  width: 100px;
  line-height: 40px;
  background-color: #333;
  color: #fff;
  text-align: center;
  float: left;
}
.follow {
  position: absolute;
}

  结果

  1. 在 IE 和Chrome 浏览器下,夹在中间的<img>在中间显示(见图6-58 上),
  2. 但是Firefox浏览器却是在最后显示(见图6-58 下)。


    浮动和无依赖绝对定位表现不一致.png

  此处的浏览器不一致的行为表现应该属于“未定义行为”,没有谁对谁错,只是各自按照自己的渲染规则表现而已。
  那为何IE 和Chrome 浏览器却在中间显示呢?
  作者认为是这样的:浏览器对于DOM元素的样式渲染是从前往后、由外及内的,因此渲染顺序是先“导航1”,再“图片”,最后是“导航2”。当渲染到“图片”的时候,由于“导航1”左浮动,因此内联的图片跟在后面显示,此时由于设置了position:absolute,因此当前位置定位并不占据任何空间,再渲染“导航2”的时候,中间的“图片”基本上跟不存在没什么区别,因此也就和“导航1”紧密相连了,最终形成了“图片”在中间显示的样式表现。
  Firefox浏览器下的定位位置或许比较好理解,因为和没有设置position:absolute 表现一致,符合我们对上面规则的理解。
  对于上述场景,如果希望各个浏览器的表现都是一样的,<img>外层嵌套一层标签并浮动即可,注意,是外层标签浮动。由于浮动和绝对定位水火不容,本身设置浮动是没有任何效果的。
如下所示。

<div class="nav">导航1</div>
<div style="float:left">
   <img src="new.png" class="follow">
</div> 
<div class="nav">导航2</div>

相关文章

  • 2019-07-04 浮动和绝对定位相遇(出现兼容性问题)

    浮动和绝对定位相遇 (参照《CSS世界》P190) 看下面这个例子:   结果 在 IE 和Chrome 浏览器下...

  • WEB常用的三栏自适应布局方法

    本文主要介绍三种方法简洁,并且没有兼容性问题方法。 1.绝对定位 2.浮动 3.margin负值 ## 绝对定位 ...

  • 前端面试复习要点

    一、HTML和CSS 页面布局的方法 1、浮动布局(布局简单,兼容性好,但是浮动元素脱离文档流) 2、绝对定位布局...

  • CSS三栏布局5种解决方案

    浮动布局 缺点: 需要清除浮动.优点: 兼容性好注: center 盒子必须放在最后 绝对定位布局 注: 这种办法...

  • CSS定位与浮动

    CSS定位机制 CSS 有三种定位机制 普通流(文档流)、浮动和绝对定位。浮动和绝对定位可以让一个元素脱离文档流。...

  • css移动端的兼容性问题 (适配问题)

    css移动端的兼容性问题 (适配问题) 一、浮动问题简述:我们在平时切页面时,经常会出现用完浮动(float),忘...

  • margin在垂直方向上的合并

    1.margin合并: (1)块级元素,但不包括浮动和绝对定位元素,尽管浮动和绝对定位可以让元素块状化。 (2)只...

  • float与overflow以及clear之间的关系

    定位 定位是定义元素框相对于其正常位置应该出现的位置。 普通流定位、浮动定位、相对定位、绝对定位 普通流定位 页面...

  • css基础-浮动

    css有三种定位模式:常规流,浮动和绝对定。除了浮动元素和绝对定位元素以及根元素以外的元素都在常规流中(in fl...

  • CSS实现三栏布局,中间自适应

    方法一:自身浮动法。左栏左浮动,右栏右浮动。 方法二:margin负值法 方法三:绝对定位法。左右两栏采用绝对定位...

网友评论

    本文标题:2019-07-04 浮动和绝对定位相遇(出现兼容性问题)

    本文链接:https://www.haomeiwen.com/subject/quvdhctx.html