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 transforms应用于背景图像的解决方法
Apr 16 HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
Sep 14 HTML / CSS
HTML5: Web 标准最巨大的飞跃
Oct 17 HTML / CSS
HTML5中实现拖放效果无须借助javascript
Dec 26 HTML / CSS
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
Jan 30 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
Jun 24 HTML / CSS
详解HTML5中的Communication API基本使用方法
Jan 29 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
Jun 27 HTML / CSS
详解webapp页面滚动卡顿的解决办法
Dec 26 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
Sep 23 HTML / CSS
详解Html5项目适配系统深色模式方案总结
Apr 14 HTML / CSS
CSS3实现的水平标题菜单
Apr 14 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
Zerg剧情介绍
2020/03/14 星际争霸
PHP5/ZendEngine2的改进
2006/10/09 PHP
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
js 效率组装字符串 StringBuffer
2009/12/23 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
使用js判断TextBox控件值改变然后出发事件
2014/03/07 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python K近邻算法的kd树实现
2018/09/06 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
十佳中学生事迹材料
2014/06/02 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
政工师工作总结2015
2015/05/26 职场文书
会议简讯范文
2015/07/20 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS