CSS三大布局之“定位”的使用场景 要懂得学以致用 |
您所在的位置:网站首页 › 路标定位的方法有哪些 › CSS三大布局之“定位”的使用场景 要懂得学以致用 |
在了解定位属性的使用场景之前,我们先来学习定位的几个属性值分别是什么意思以及一些注意点,定位的使用场景穿插在这些内容里面。希望大家学到的东西要回熟练的运用起来。 文章目录 1.为什么需要定位2. 定位的组成2.1 定位模式2.2 边偏移 3. 静态定位static3. 相对定位relative(重点)4. 绝对定位absolute(重点)5. 固定定位fixed(重要)6. 粘性定位(新属性值)7.绝对定位与相对定位使用场景 1.为什么需要定位大家先考虑下面情况使用标准流以及浮动是否能实现吗? 某个元素可以自由的在一个盒子内移动位置,并且压住其他盒子。当我们滚动窗口的时候,盒子是固定在屏幕的某个位置的。很明显,以上效果,在标准流和浮动都无法快速实现,此时需要定位来实现。 浮动和定位的两者比较: 浮动可以让多个块级盒子在一行中没有缝隙排列显示,经常用于横向排列盒子。定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中的某个位置,并且可以压住其它盒子。 2. 定位的组成定位:将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子。 定位=定位模式+边偏移。 定位模式用于指定一个元素在文档中的定位方式。边偏移则决定了该元素的最终位置。 2.1 定位模式定位模式决定元素的定位方式,它通过CSS的position属性来设置: 属性值描述static静态定位relative相对定位absolute绝对定位fixed固定定位sticky粘性定位 2.2 边偏移边偏移就是定位盒子移动到最终位置。有top、bottom、left和right 4个属性。 边偏移量示例描述toptop:10px顶部偏移量,定义元素相对于其父元素上边线的距离bottombottom:10px底部偏移量,定义元素相对于其父元素下边线的距离leftleft:10px左部偏移量,定义元素相对于其父元素左边线的距离rightright:10px右部偏移量,定义元素相对于其父元素右边线的距离 3. 静态定位static静态定位是元素的默认方式,即按照标准流来摆放,无定位的意思。 语法: 选择器{ position:static; }特点: 静态定位按照标准流特性摆放位置,它没有边偏移静态定位在布局上很少用到 3. 相对定位relative(重点)相对定位是元素在移动位置的时候,是相对于它自身原来的位置而言的。 语法: position:relative;看下图理解特点: 绝对定位是元素在移动位置时,相对于它祖先元素作为参考系。 语法: 选择器{ position:absolute; }看下图(使用场景): 固定定位是元素固定于浏览器可视区的位置。主要使用场景:可以在浏览器页面滚动时元素的位置不会改变。 语法: 选择器{ position:fixed; }固定定位的特点: 1. 以浏览器的可视窗口为参照系移动元素。 2. 跟父元素没有任何关系。 3. 不随滚动条滚动。 4. 固定定位不占有原先的位置。 固定定位定位在页面版心如图: 这样就可以让固定定位的盒子贴着版心右侧对齐了。 粘性定位可以被认为是相对定位和固定定位的混合。 语法: 选择器{ position:sticky; }粘性定位的特点: 以浏览器的可视窗口为参照系移动元素(固定定位特点)粘性定位占有原先的位置(相对定位特点)必需添加top、left、right、bottom中的一个才有效缺点:兼容性差,IE不支持 使用场景:当滚动条到达某一位置时,这个粘性定位的容器才不随滚动条移动而移动。 7.绝对定位与相对定位使用场景使用场景就是四个字:子绝父相 即:子元素使用绝对定位,父元素使用相对定位。 子级绝对定位不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其它的兄弟元素。父盒子需要加定位限制子盒子在父盒子内显示。父盒子布局时,必需占有位置,因为不占有位置的话,会影响下面盒子的布局,因此父元素只能用相对定位。总结:因为父级元素需要占有位置,因此为相对定位;子盒子不需要占有位置,则是绝对定位。 看下图理解子绝父相:
小结:学习定位务必区别两大特点:1.是否占有原先位置(是否脱标) 2.以谁为参考系移动位置 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |