摘要:相对于定位以外的第一个父元素进行定位,即相对于第一个非处于正常流的父元素定位,现在我们将设置为,并且向下移动像素。生成相对定位的元素,相对于其正常位置进行定位。元素的位置通过以及属性进行规定。规定应该从父元素继承属性的值。
迷惑的position
小加发现实际开发中position使用频率很高,但很多人却对position不是很了解,导致开发中出现各种问题,现在让我门一起来看看这个迷惑的position吧~
static元素未定位,默认出现在普通流中,即元素从左到右,从上到下的方式布局~
HTMLCSSStatic - 普通流
header boxleft boxright boxbottom box
.section { margin-bottom: 100px; } .section__boxes { font-size: 22px; } .header-box { background-color: #0981B2; height: 100px; } .left-box { background-color: #FF002D; height: 200px; } .right-box { background-color: #FFF419; height: 200px; } .bottom-box { background-color: #B037B2; height: 100px; }效果图 relative
相对于该元素所在普通流的位置进行定位,现在我门让left box相对于其位置向右边移动100像素。
CSS.section--relative > .left-box { position: relative; left: 100px; }效果图
对比static和relative两个效果图,你可以看到left box确实是相对于其所在正常流位置进行定位,向右移动了100像素。
absolute相对于static定位以外的第一个父元素进行定位,即相对于第一个非处于正常流的父元素定位,现在我们将left box设置为absolute,并且向下移动1150像素。
CSS.section--absolute > .left-box { position: absolute; top: 1150px; }效果图
由于查找left box的祖先元素中,未发现有设置非static的元素,其绝对定位是相对于根元素进行移动的。
我们设置其父亲元素为relative,然后让其元素向下、右各移动100像素。
.section--absolute { position: relative; } .section--absolute > .left-box { position: absolute; top: 100px; left: 100px; }效果图
由于其父元素设置了relative,此时该元素是相对于其父亲进行定位的,而非根元素了~
我们再对比下relative和此时的效果图,你会发现left box的实现效果一致,但是right box却有一点不一样。这是因为当元素设置relative时,其元素依然会占据所在普通流的的位置,而absolute会脱离普通文档流,此时right box就往左边布局了。
fixed不管浏览器内容怎么滚动等操作,都是相对于浏览器窗口进行定位,即固定位置。我门将元素固定在浏览器的顶部。
HTMLCSSfixed - 固定位置 - 相对浏览器窗口定位
.section-fixed { position: fixed; top: 0; right: 0; left: 0; background-color: #15FF44; } .section-fixed > p { margin: 0; }效果图
你可以看到随着浏览器滚动,其元素的位置依然在浏览器窗口的顶部,未发生任何变化。
关键知识点value | description |
---|---|
static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 |
relative | 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。 |
absolute | 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
fixed | 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 |
inherit | 规定应该从父元素继承 position 属性的值。 |
资源 在线测试 源代码w3school
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/54315.html
摘要:相对于定位以外的第一个父元素进行定位,即相对于第一个非处于正常流的父元素定位,现在我们将设置为,并且向下移动像素。生成相对定位的元素,相对于其正常位置进行定位。元素的位置通过以及属性进行规定。规定应该从父元素继承属性的值。 迷惑的position 小加发现实际开发中position使用频率很高,但很多人却对position不是很了解,导致开发中出现各种问题,现在让我门一起来看看这个迷惑...
摘要:在页面构建时,刚入门的前端小狮子们经常被背景图的位置,尺寸所迷惑,怎样才能更好的处理背景图,让背景图达到你想要的效果呢,那么,退后,朕又开始装逼了首先决定背景图的有如下属性属性主要控制背景图片的大小,是非常直观的一种控制方式,如上图,我 在HTML页面构建时,刚入门的前端小狮子?️ 们经常被背景图的位置,尺寸所迷惑,怎样才能更好的处理背景图,让背景图达到你想要的效果呢,那么,退后,朕又...
摘要:在页面构建时,刚入门的前端小狮子们经常被背景图的位置,尺寸所迷惑,怎样才能更好的处理背景图,让背景图达到你想要的效果呢,那么,退后,朕又开始装逼了首先决定背景图的有如下属性属性主要控制背景图片的大小,是非常直观的一种控制方式,如上图,我 在HTML页面构建时,刚入门的前端小狮子?️ 们经常被背景图的位置,尺寸所迷惑,怎样才能更好的处理背景图,让背景图达到你想要的效果呢,那么,退后,朕又...
摘要:在页面构建时,刚入门的前端小狮子们经常被背景图的位置,尺寸所迷惑,怎样才能更好的处理背景图,让背景图达到你想要的效果呢,那么,退后,朕又开始装逼了首先决定背景图的有如下属性属性主要控制背景图片的大小,是非常直观的一种控制方式,如上图,我 在HTML页面构建时,刚入门的前端小狮子?️ 们经常被背景图的位置,尺寸所迷惑,怎样才能更好的处理背景图,让背景图达到你想要的效果呢,那么,退后,朕又...
摘要:引自手册是相对长度单位。所有未经调整的浏览器都符合。特点是新增的一个相对单位,根,这个单位引起了广泛关注。目前,除了及更早版本外,所有浏览器均已支持。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。 在他处看到一篇好文章,想记录在自己的学习笔记中,原文作者看到我转载若是介意,联系我立马就删除,附上原文链接:http://www.huolg.net/html5/htm...
阅读 1364·2021-11-24 09:39
阅读 3568·2021-09-29 09:47
阅读 1522·2021-09-29 09:34
阅读 3028·2021-09-10 10:51
阅读 2498·2019-08-30 15:54
阅读 3188·2019-08-30 15:54
阅读 837·2019-08-30 11:07
阅读 978·2019-08-29 18:36