CSS定位—静态定位、相对定位、固定定位、绝对定位、粘性定位
CSS定位
定位是可以让盒子自由自在的在某个盒子内移动位置或者固定屏幕中的某个位置,并且可以压住其他盒子。
定位的组成
定位是将盒子定位在某一位置。按照定位的方式移动盒子。
定位=定位模式+边偏移。
定位模式用于指定一个元素在文档中的定位方式。边偏移则决定了该元素的最终位置。
定位模式
定位模式决定元素的定位方式,它通过CSS的position属性来设置,其值可以分为四个:
值 | 语义 |
---|---|
static | 静态定位 |
relative | 相对定位 |
absolute | 绝对定位 |
fixed | 固定定位 |
边偏移
边偏移就是定位的盒子移动到最终位置。有top、bottom、left和right四个属性。
边偏移属性 | 示例 | 描述 |
---|---|---|
top | top: 80px; | 顶端偏移量,定位元素相对于其父元素上边线的距离。 |
bottom | bottom: 80px; | 底部偏移量,定位元素相对于其父元素下边线的距离。 |
left | left: 80px; | 左侧偏移量,定义元素相对于其父元素左边线的距离。 |
right | right: 80px; | 右侧偏移量,定义元素相对于其父元素右边线的距离。 |
静态定位(static)
静态定位是元素的默认定位方式,无定位的意思。
语法:
选择器 { position: static; }
静态定位按照标准流特性摆放位置,没有边偏移。在布局时很少用到。
相对定位(relative)
相对定位是元素在移动位置的时候,设计相对于它原来的位置来说的
语法
选择器 {position: relative; }
相对定位的特点:
- 他是相对于自己原来的位置来移动的
- 原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它。
绝对定位(absolute)
绝对定位是元素在移动位置的时候,是相对于祖先元素来说。
语法
选择器: { position: absolute;}
绝对定位的特点:
- 如果没有祖先元素或者祖先元素没有定位,则以浏览器为准进行对齐。
- 如果祖先元素有定位,则以最近一级祖先的定位为参考点进行定位。
- 绝对定位不占有原先的位置(脱标)
子绝父相
子级绝对定位,父级要用相对定位。
- 子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其他的兄弟盒子。
- 父盒子一定要加 定位来限制子盒子在父盒子内显示。
- 父盒子需要占有位置,因此不能添加相对定位。
固定定位(fixed)
固定定位是元素预定于浏览器可视区的位置。主要使用场景:可以在浏览器页面滚动时元素的位置不会改变。
语法:
选择器 { position:fixed; }
固定定位的特点:
- 以浏览器的可视窗口为参照点移动元素。和父元素没有关系,也不随滚动条的滚动而滚动。
- 固定定位不占有原先的位置。固定定位也是脱标的。固定定位也可以看成一种特殊的绝对定位。
固定定位小技巧:固定在版心右侧位置
算法:
- 让固定定位的盒子left:50%,走到浏览器可视区域的一半位置
- 让固定定位的盒子margin-left:版心宽度的一半距离,多走版心宽度一半的距离。
这样就可以让固定定位的盒子贴着版心右侧对齐了。
粘性定位(sticky)
粘性定位可以被认为是相对定位和固定定位的混合。
语法:
选择器 {position:sticky;top10px;
}
粘性定位的特点:
- 以浏览器的可视窗口为参照点移动元素。(固定定位的特点)、
- 粘性定位占有原先的位置。(相对定位的特点)
- 必须添加top、left、right、bottom其中一个才有效。
和页面滚动搭配使用,兼容性较差,IE不支持。
定位叠放次序z-index
在使用定位布局时,可能会出现盒子重叠的情况。此时,可以使用z-index来控制盒子的前后顺序(z轴)
语法:
选择器 { z-index:1;}
数值可以是正整数、负整数或0,默认是auto,数值越大,盒子越靠上。数值后面没有单位。如果数值相同,则按照顺序,后者居上。
只有定位的盒子才有z-index属性。
绝对定位的盒子居中
加了对定位的盒子不能通过margin:0 auto水平居中,但是可以通过如下方法实现水平或垂直居中:
选择器 {left:50%;margin-left: -盒子自身宽度的一半;/*负值*/
}
选择器 {top:50%;margin-top: -盒子自身宽度的一半;
}
定位特殊特性
- 行内元素添加绝对定位或者固定定位,可以直接设置高度和宽度。
- 块级元素添加绝对定位或者固定定位,如果不给宽度或者高度,默认大小是内容大小。
- 脱标的盒子不会触发外边距塌陷。
浮动元素不同,只会压住它下面标准流的盒子,不会压住下面标准流盒子里面的文字(图片)
但是绝对定位(固定定位)会压住下面标准流的所有内容。
浮动之所以不会压住文字,因为浮动产生的目的是为了做文字的环绕效果。
CSS定位—静态定位、相对定位、固定定位、绝对定位、粘性定位相关推荐
- 【CSS】定位--静态定位-相对定位-绝对定位-子绝父相-固定定位-粘性定位
文章目录 1. 为什么需要 2. 定位组成 定位 = 定位模式 + 边偏移 2.1 定位模式 2.2边偏移 3. 静态定位 static (了解) 4. 相对定位 relative (重要) 5. 绝 ...
- css导航栏固定顶部两种情况,及绝对定位,相对定位,固定定位和粘性定位的特性及区别
绝对定位,相对定位,固定定位和粘性定位的特性及区别,我整理一下放在文章最下面了,不用死记硬背,理解一下就ok,需要的话可以看看. 当导航栏头部没有别的模块时,想要滑动过程中导航栏一直在顶部,有两种写法 ...
- 【前端初学者】【CSS笔记】之定位:相对定位、绝对定位、固定定位、静态定位及粘性定位(上)
目录 (上篇) 一.相对定位 ( relative ) 1.1 设置方式: 1.2 相对定位元素定位的参考点: 1.3 相对定位的特点: 1.4 相对定位的举例: 二.绝对定位( absolute ) ...
- 定位(定位组成【定位模式(静态定位,相对定位,绝对定位,固定定位,粘性定位,定位总结),位偏移】,)
定位 定位组成 定位:将盒子定在某一个位置,所以定位也是在摆放盒子, 按照定位的方式移动盒子 定位也是用来布局的,它有两部分组成: 定位 = 定位模式 + 边偏移 定位模式 用于指定一个元素在文档中的 ...
- Web前端,CSS常用之相对定位和绝对定位的区别,静态定位、子绝父相、固定定位、元素的层级关系的了解
前言 持续学习总结输出中,今天分享的是Web前端,CSS常用之相对定位和绝对定位的区别,静态定位.子绝父相.固定定位.元素的层级关系的了解 1.定位的基本介绍 我们的网页常见布局方式有:标准流.浮动. ...
- static(静态定位),fixed(固定定位),relative(相对定位),absolute(绝对定位)
static(静态定位),fixed(固定定位),relative(相对定位),absolute(绝对定位) Position的取值: static(静态定位) : 表示块保留在原本应该在的位置,不会 ...
- CSS相对定位,固定定位,绝对定位实例方法和实例
1CSS相对定位方法实例: 当容器的position属性值为relative时,这个容器即被相对定位了.相对定位和其他定位相似,也是独立出来浮在上面.不过相对定位的容器的top(顶部).bottom( ...
- 相对定位 绝对定位 固定定位 粘性定位 居中的三种方法 calc函数标签的使用方法
相对定位 绝对定位 固定定位 粘性定位 居中的三种方法 calc函数标签的使用方法 一.相对定位:position:relative; 二.绝对定位:position:absolute; 1.找参照物 ...
- CSS中固定定位、相对定位、绝对定位以及flex布局高效定位
CSS中固定定位.相对定位.绝对定位以及flex布局高效定位 一.固定布局 将元素固定到一个位置,不管屏幕怎样移动,元素的位置不移动. <style>body {height: 3000p ...
最新文章
- golang 获取 进程 名称 id
- git checkout .的用法
- zend studio报错
- C#设计模式--简单工厂模式
- php aapt apk 包名,aapt 命令可应用于查看apk包名、主activity、版本等很多信息
- eclipse中配置Maven仓库
- substrate 区块链框架 (1)概述
- vc中怎么使用SendMessage自定义消息函数
- VMware ESXi/ESX 的内部版本号和版本 (2143832)-2020-10-27更新
- mysql 测试 缓存_mysql 缓存开启及测试
- WIN10-x86虚拟机镜像-32位-VMware(亲测可用)
- 数字集群通信的业务与功能
- 用户注册时图片验证码和短信验证码的逻辑
- Eth 2.0 会成为第一个从 PoW转PoS 的公链吗?丨SheKnows第五期
- 利用代码制作电脑中毒假象
- 快速安装Jupyter Notebook主题皮肤并设置教程
- 静态页面-HTML5+CSS大作业——传统节日--中秋节(2页)
- 01熵与热力学重要模型
- 银联在线Java接口开发
- Excel大数据排查重复行内容方法,三步搞定!