CSS布局之浮动(float)和定位(position)属性的区别


Posted in HTML / CSS onSeptember 25, 2021

CSS 布局 - position 属性

position 属性规定应用于元素的定位方法的类型(static、relative、fixed、absolute 或 sticky)。

position 属性

position 属性规定应用于元素的定位方法的类型。

有五个不同的位置值:

static
relative
fixed
absolute
sticky

元素其实是使用 top、bottom、left 和 right 属性定位的。但是,除非首先设置了 position 属性,否则这些属性将不起作用。根据不同的 position 值,它们的工作方式也不同。

CSS 布局 - 浮动和清除

float 属性
float 属性用于定位和格式化内容,例如让图像向左浮动到容器中的文本那里。

float 属性可以设置以下值之一:

left - 元素浮动到其容器的左侧
right - 元素浮动在其容器的右侧
none - 元素不会浮动(将显示在文本中刚出现的位置)。默认值。
inherit - 元素继承其父级的 float 值
最简单的用法是,float 属性可实现(报纸上)文字包围图片的效果。

float: left|right; 可以自动排列自动折行, 但需要clear来配合清除浮动;display: inline-block 有些时候可以替代float实现相同的效果.

position: absolute|relative; 要配合top,left等定位;

使用:

position: absolute会导致元素脱离文档流,被定位的元素等于在文档中不占据任何位置,在另一个层呈现,可以设置z-index。PS的图层效果就是position: absolute。
float也会导致元素脱离文档流,但还在文档或容器中占据位置,把文档流和其它float元素向左或向右挤,并可能导致换行。图片的文字环绕布局效果就是float。
display的inline-block不脱离文档流,将block元素当作大型字符嵌入文档流内,类似于img或者input默认效果。

CSS布局浮动和定位属性的区别

CSS有三种基本的定位机制:普通流、浮动和绝对定位一、普通流 普通流中元素框的位置由元素在XHTML中的位置决定。块级元素从上到下依次排列,框之间的垂直距离由框的垂直margin计算得到。行内元素在一行中水平布置。 普通流就是html文档中的元素如块级元素、行内元素依据他们的显示属性按照在文档

postion:relative是子块级元素面向父级元素的相对定位,定位关键字使用left/right/top/bottom。兄弟块元素之间相对进行定位,但是position移动后,原位置依然保留。而且随后的兄弟块元素定位基于被移走前的位置。

float:right/left是子块级元素流集合面向父级元素的定位,定位的关键词使用margin/padding。兄弟块元素之间进行相对的定位均基于移动后的新位置进行重新渲染,可以重叠,原位置被清空。

二者之中最大的差别就是位置保留。

人们也就利用这种差异,可以做出CSS代码的滑动门菜单。

三水点靠木小编补充

一般页面布局都是用float,但需要注意清除浮动,而一些特别的效果一般用positon,使用positon的元素可以在页面的任何位置出现,方便一些提示框,特效等。

具体的大家可以根据看到的页面F12,慢慢研究,就会发现有很多的乐趣、

 
HTML / CSS 相关文章推荐
CSS3旋转——彩色扇子兼容firefox浏览器
Jun 04 HTML / CSS
CSS3 text shadow字体阴影效果
Jan 08 HTML / CSS
关于box-sizing的全面理解
Jul 28 HTML / CSS
纯css3使用vw和vh实现自适应的方法
Feb 09 HTML / CSS
css3实现六边形边框的实例代码
May 24 HTML / CSS
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
Oct 15 HTML / CSS
html5视频播放_动力节点Java学院整理
Jul 13 HTML / CSS
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
May 18 HTML / CSS
基于canvas的骨骼动画的示例代码
Jun 12 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
Nov 01 HTML / CSS
浅析图片上传及canvas压缩的流程
Jun 10 HTML / CSS
几款流行的HTML5 UI框架比较(小结)
Apr 08 HTML / CSS
Canvas绘制像素风图片的示例代码
Canvas如何做个雪花屏版404的实现
使用canvas对video视频某一刻截图功能
Sep 25 #HTML / CSS
使用CSS实现一个搜索引擎的原理解析
sass 常用备忘案例详解
Sep 15 #HTML / CSS
关于HTML编码导致的乱码问题
Sep 04 #HTML / CSS
使用CSS3实现按钮悬停闪烁动态特效代码
Aug 30 #HTML / CSS
You might like
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
react实现换肤功能的示例代码
2018/08/14 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
世界上最短的数字判断js代码
2019/09/09 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
python实现比较文件内容异同
2018/06/22 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Python字符串的常见操作实例小结
2019/04/08 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
python3中pip3安装出错,找不到SSL的解决方式
2019/12/12 Python
美国温暖商店:The Warming Store
2018/12/15 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
自我评价范文
2013/12/22 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
教师年度个人总结
2015/02/11 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
红歌会主持词
2015/07/02 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript