position:absolutefloat:left 有两大共性:包裹性,破坏性。

包裹性

包裹性即让元素inline-block化,例如一个div标签默认宽度是100%显示的,但是使用了absolute属性,则100%默认宽度就会变成自适应内部元素的宽度

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><style type="text/css">.div { padding:20px; margin-bottom:10px; background-color:#f0f3f9; }.abs { position:absolute; }</style>
</head>
<body><div class="div"><p>无absolute</p></div><div class="div abs"><p>absolute后</p></div>
</body>
</html>

float也是典型的inline-block化元素,这种使元素inline-block化适用于任何的标签。例如让span标签支持width属性,如下设置:

span { display:block; width:100px; }

但是,使用了float:left/position:absolute之后就不需要使用display属性。

span { float:left; width:100px; }
span { position:absolute; width:100px; }
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><style type="text/css">.span0 { width:100px;margin-bottom:10px; background-color:#f0f3f9; }.span1 { display:block; width:100px;margin-top: 10px;margin-bottom:10px; background-color:#f0f3f9; }.span2 { position:absolute;width:100px;background-color:#f0f3f9; margin-bottom:10px; }</style>
</head>
<body><span class="span0">没有使用absolute没有使用display:block</span><span class="span1">没有使用absolute使用了display:block</span><span class="span2">使用absolute</span>
</body>
</body>
</html>

破坏性

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title>
</head>
<body><div style="border: 1px solid;margin-top:20px;"><div style="float:left;width:100px;height:200px;background-color:red;"></div><div style="position:relative;left:150px;width:100px;height:100px;background-color:green;"></div></div><div style="border: 1px solid;position:relative;top:150px;"><div style="position:absolute;width:100px;height:200px;background-color:red;">使用absolute对父div的影响</div><div style="position:relative;left:150px;width:100px;height:100px;background-color:green;"></div></div><div style="border: 1px solid;position:relative;top:300px;"><div style="width:100px;height:200px;background-color:red;">不使用absolute对父div的影响</div><div style="position:relative;left:150px;width:100px;height:100px;background-color:green;"></div></div>
</body>
</html>

五、position:absolute滥用

absolute属性本来是想把页面搞得像photoshop那样,一个图层一个图层覆盖。但是,页面的发展与这个背道而驰,毕竟页面是活的。
流动性布局很强调不定宽,不定高,活用标签自身属性,顺其自然,最少干预。但是由于absolute属性(尤其是带有left/top值)的破坏性,会导致高宽塌陷,于是,只能设定一个高度值(或是足以撑开高度的值),例如新浪微博导航就是绝对定位,所以导航外标签必须定高,否则,下面的元素会上来发生重叠:
想重构高质量的页面,少用绝对定位布局!

CSS float和absolute相关推荐

  1. CSS position绝对定位absolute relative

    常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:absolute和position:relative实现. 一.position语法与结 ...

  2. html中的绝对定位怎么写,CSS position绝对定位absolute relative

    DIV CSS position绝对定位absolute relative教程篇 常常使用position用于层的绝对定位,比如我们让一个层位于一个层内具体什么位置,为即可使用position:abs ...

  3. CSS Float(浮动)

    2019独角兽企业重金招聘Python工程师标准>>> 什么是CSS Float(浮动)? CSS的Float(浮动),元素可以围绕其他元素向左或向右被推动 Float(浮动),往往 ...

  4. css float left right 中间空间城数据无法显示

    css float left right 中间空间城数据无法显示 是由于设定了width具体值太小造成,简单用%值或不设置. 转载于:https://www.cnblogs.com/allensun- ...

  5. 对css float 浮动的学习心得

    css float浮动详解 @(css float)[hasLayout|clear float|妙瞳] css float的定义和用法 float 属性定义元素在哪个方向浮动.以往这个属性总应用于图 ...

  6. 教你玩转CSS Float(浮动)

    目录 什么是 CSS Float(浮动)? 元素怎样浮动 彼此相邻的浮动元素 清除浮动 - 使用 clear CSS 中所有的浮动属性 什么是 CSS Float(浮动)? CSS 的 Float(浮 ...

  7. html中左浮动怎么写,div css float浮动用法(left right)

    div+css中float认识及css float用法,DIV CSS float浮动知识用法与float浮动教程篇 Css样式的float浮动属性,用于设置标签对象(如: 标签盒子.标签.标签.标签 ...

  8. html图片浮动教程,CSS Float(浮动)

    CSS Float(浮动) 什么是 CSS Float(浮动)? CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列. Float(浮动),往往是用于图像,但它在布局时一 ...

  9. float和absolute的区别

    float和absolute都会脱离文档流,那二者之间有哪些不同的地方呢? 脱离文档流,就是将该元素从普通的布局中拿出来,其他元素在定位的时候,会当脱离文档流的元素不存在而进行定位. float fl ...

最新文章

  1. php怎样获取视频播放的进度条,小程序如何实现视频或音频自定义可拖拽进度条...
  2. 爬虫必须得会的Web知识
  3. Max retries exceeded with url 解决方案
  4. centos6.5+jexus5.6.3+mono 3.10实践,让asp.net在linux上飞一会儿
  5. IDEA 调试部署 Web-INF/classes下面不生成class文件
  6. 如何用一句话证明你是程序员?
  7. 预定义类型未定义或导入_LimeSurvey基础教程(二)——问题类型
  8. 【Beam Search】seq2seq中的beam search算法过程
  9. 原型和原型链 及 instanceof函数
  10. 六石管理学:流程是为工作服务的
  11. Bootdo后台管理系统使用步骤详解
  12. Image data of dtype object cannot be converted to float 问题解决
  13. 闭合导线的近似平均差(工程测量)
  14. violate与线程安全
  15. 金蝶java笔试_金蝶面试题
  16. Navicat11 for mysql(包括激活工具)亲测可用
  17. 送书来了|Python数据分析必备工具书
  18. 物联网安全解决方案_如何设计具有安全性的自制物联网解决方案
  19. 图片按钮 imagebutton
  20. 夏令营被拒,计算机保研er应该怎么办?

热门文章

  1. mysql:查询所有课程的成绩第2名到第3名的学生信息及该课程成绩
  2. qq录制视频保存到哪了?qq录制视频怎么没了?找回方法在这
  3. 陕西互联网大会9月举行,聚焦新互联时代陕西机遇
  4. 开源在线客服系统源码 支持PC官网+微网站+h5页面+小程序+公众号等多端客服 含搭建教程
  5. 苹果手机速度慢_手机上网很卡?只需要几步就能让手机飞速起来
  6. windows环境下,如何查看redis密码和设置redis密码
  7. Windows 10操作系统更改计算机名报“一般性网络错误”的解决方案
  8. 蓝桥杯 世纪末的星期(世界末日)
  9. 搞笑能火的爆款短视频选题
  10. 【Word排版】大纲级别、多级列表、样式应用