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制作的20种loading动效
Jul 05 HTML / CSS
CSS Grid布局教程之什么是网格布局
Dec 30 HTML / CSS
css3动画 小球滚动 js控制动画暂停
Nov 29 HTML / CSS
css3实现背景模糊的三种方式(小结)
May 15 HTML / CSS
详解CSS3媒体查询响应式布局bootstrap 框架原理实战(推荐)
Nov 16 HTML / CSS
使用CSS3制作版头动画效果
Dec 24 HTML / CSS
HTML5 embed 标签使用方法介绍
Aug 13 HTML / CSS
有关HTML5中背景音乐的自动播放功能
Oct 16 HTML / CSS
Canvas制作旋转的太极的示例
Mar 09 HTML / CSS
简洁自适应404页面HTML好看的404源码
Dec 16 HTML / CSS
CSS3通过var()和calc()函数实现动画特效
Mar 30 HTML / CSS
html+css实现滚动到元素位置显示加载动画效果
Aug 02 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
Array of country list in PHP with Zend Framework
2011/10/17 PHP
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
jQuery中prepend()方法用法实例
2014/12/25 Javascript
js在指定位置增加节点函数insertBefore()用法实例
2015/01/12 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
详解webpack分包及异步加载套路
2017/06/29 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
Python中对列表排序实例
2015/01/04 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
Python实现异步IO的示例
2020/11/05 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
党员年终民主评议的自我评价
2013/11/05 职场文书
校园餐饮创业计划书
2014/01/10 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
个人典型事迹材料
2014/12/30 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python