CSS3理解position属性
一般情况下,页面是由页面流构成的。页面元素在页面流中的位置是由该元素在HTML文档中的位置决定的。块级元素从上向下排列(每个块级元素单独成行),而内联元素将从左向右排列,元素在页面中的位置随着外层容器的改变而改变。
在CSS中,提供了三种定位机制:普通流、定位(position)、浮动(float)。
position属性 :可以将元素从页面流中偏移或分离出来,然后设定其具体位置,从而实现更精确的定位。
position属性值:static | relative | absolute | fixed 。
position定位方式
1、position:static,正常流(默认值),元素在页面流中正常出现,并作为页面流的一部分,不能通过z-index进行层次分级。
2、position:relative ,相对定位,不脱离文档流,参考自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。 示例:
对底部方块设置position:relative
后,效果如下
3、position:absolute ,绝对定位,脱离文档流的布局,遗留下来的空间由后面的元素填充。通过 top,bottom,left,right 定位,定位的起始位置为最近的父元素(postion不为static),否则为Body坐标原点,可以通过z-index进行层次分级。在拖拽页面滚动条时,该元素随其一起滚动。 示例
对底部方块设置position:absolute
后,效果如下
4、position:fixed ,固定定位,脱离文档流,相对于浏览器窗口进行定位,在拖拽页面滚动条时,该元素不会随其一起滚动,可以通过z-index进行层次分级。
脱离文档流导致的问题
我们知道如果使用position:absolute和position:fixed都会导致元素脱离文档流,由此就会产生相应的问题:子元素脱离文档流,父元素无法被撑开。
解决方案:1、在js中设置父元素高度等于子元素的高度。2、给父元素强行设置高度(对于宽度导致的类似问题就强行设置宽度)。
z-index:设置元素之间的叠放顺序,只能在position属性值为relative或absolute或fixed的元素上有效。
基本原理:z-index的值可以控制定位元素在垂直于显示屏幕方向(z轴)上的堆叠顺序,值大的元素发生重叠时会在值小的元素上面。示例,z-index=1会重叠在z-index=0的元素之上:
CSS3理解position属性相关推荐
- 如何理解position属性里的sticky属性?
首先,设置了position:sticky的元素并不会脱离文档流 当元素在区域内,元素不受定位的影响(top.left等设置无效) 当发生滚动,元素就要移出区域时,定位又会变成fixed,根据设置的l ...
- CSS中position属性(abusolute | relative | static | fixed)区别
关于css3中position属性的定义: 转载于:https://www.cnblogs.com/tangjiao/p/9025934.html
- 半深入理解CSS3 object-position/object-fit属性
半深入理解CSS3 object-position/object-fit属性 转载:https://www.zhangxinxu.com/wordpress/2015/03/css3-object-p ...
- 【拼爹坑爹不比爹】深入理解css中position属性及z-index属性
总结:拼爹坑爹不比爹 1,定位移动:距左上角left+top;(移动后对于移动前:如果值为负数,则直接换成整数:如果值为整数,则直接改变相对方向.) 2,单一父元素不设值,子z-index才奏效:&q ...
- position属性的absolute和relative的理解
概述: 每个定位的意义:相对定位是"相对于"元素在文档流中初始位置的,而绝对定位是"相对于"最近的已经定位的祖先元素. 主要: (其实对于定位的理解,主要问题是 ...
- CSS中position属性( absolute | relative | static | fixed )详解
我们先来看看CSS3 Api中对position属性的相关定义: static:无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用. relative:对象遵循 ...
- CSS定位布局display/float/position属性之间的关系/区别和如何使用取值行为机制
float: left|right; 可以自动排列自动折行, 但需要clear来配合清除浮动; display: inline-block; 有些时候可以替代float实现相同的效果. positio ...
- CSS盒子模型之CSS3可伸缩框属性(Flexible Box)
CSS盒子模型(下) 一.CSS3可伸缩框(Flexible Box) 可伸缩框属性(Flexible Box)是css3新添加的盒子模型属性,有人称之为弹性盒模型,它的出现打破了我们经常使用的浮动布 ...
- 总结一下CSS中的定位 Position 属性
在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...
最新文章
- python计算机体系三层结构_Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证...
- [LeetCode] Length of Last Word - 最后一个单词的长度
- 网页加载的不同的方式、点击按钮显示一句话、jQuery中获取元素的方法
- OpenFOAM各版本说明介绍
- php如何写回调函数,php – 如何使用类方法作为回调函数?
- Android 截图,截取指定view截图
- 第八节:Task的各类TaskTResult返回值以及通用线程的异常处理方案
- 【数据库系统】核心知识归纳总结
- 信息安全工程师笔记-10种端口扫描技术概念
- Android 11 无法调起微信支付解决方案
- 迟思堂工作室编程规范:单片机C语言
- django 1.8 官方文档翻译: 2-5-1 管理器
- JavaScript 面试总结
- CSS 常用开发技巧
- 如何可以用cad迷你家装v2018
- 自动控制原理7.1---离散系统的基本概念
- SAP补提折旧-折旧的增加/减少
- R语言实战笔记后续修改
- html椭圆的写法,4.8 把圆变换为椭圆 - HTML5 Canvas 实战
- 这些例子感觉很实用,希望对你也有帮助
热门文章
- android 手机系统排行榜,手机系统排行榜出炉:第一名意料之中,MIUI排名令人意外!...
- Ceph 分布式存储
- OGC入门学习专栏(2.1) - SWE通用数据模型编码标准(写完所有小节再合)
- 稳定性全系列(二)——如何做线上全链路压测
- LTE 各频段对应频点以及频率,频点号与频率之间的转换关系
- 20190122——回首向来萧瑟处,无人等在灯火阑珊处。 Java责任链
- 北航2022计算机软件基础期末C++复(预)习
- 对象及日期定时器、延时器
- AndroidStudio更改SDK路径以及AVD模拟器路径
- JavaScript设计模式总汇