定位元素

作者: 乔乔乔0126 | 来源:发表于2019-07-04 23:50 被阅读0次

css布局中的position属性,对元素盒子使用这个属性,可以把它的位置重新定位。

position 属性有4个值:staticrelativeabsolutefixed,默认值为 static。

<p class="first">我是第一行</p>
<p class="Second">我是第二行</p>
<p class="Third">我是第三行</p>
<p class="Fourth">我是第四行</p>

静态定位(static)

静态定位.png

静态定位下,每个元素在处在常规文本中,它们都是块级元素,独占一行,所以会在页面中自上而下地堆叠。

相对定位(relative)

把第三段的position样式改为relative。

  .Third {
            position: relative;
            top: 25px;
            left: 30px;
        }

因为相对定位相对的是它原来在文档流中的位置(默认位置),如果只设置 position 样式不会有任何变化,必须设置了 top 和 left 属性来改变它的位置。

效果如下:


相对定位.png

第三行从原来的位置,向下移动了25px,向右移动了30px。

需要注意,相对定位会占据空间。

绝对定位(absolute)

绝对定位与相对定位相比,绝对定位会把元素从文本中脱离出来,不会占据页面的空间。

现在,把第三段的position样式改为absolute。

  .Third {
            position: absolute;
            top: 25px;
            left: 30px;
        }

效果如下:


绝对定位.png

可以看到,第三段原来的位置被回收了。这说明绝对定位的元素脱离了文档,它现在是相对于默认元素 body 在定位。

但是,当元素存在上下级关系的时候,给父级元素一个相对定位(position:relatic),给子元素一个绝对定位(position:absolute)时,子元素的上下左右位置,就会相对于父元素的位置来调整。

比如:

<div>
        <p></p>
</div>

css样式:

div {
            width: 200px;
            height: 200px;
            background: #cfc;
        }

p{
            width: 50px;
            height: 50px;
            background: blue;
        }

效果如下:


原来的样子.png

当我给父元素 div 一个相对定位(relative),子元素 p 一个绝对定位(absolute)时

div {
            width: 200px;
            height: 200px;
            background: #cfc;
            position: relative;
        }

p{
            width: 50px;
            height: 50px;
            background: blue;
            position: absolute;
            top: 20px;
            left: 20px;
        }

效果如下:


之后的样子.png

可以看到,当父元素 div 改为相对定位之后,子元素中绝对定位元素的 top 和 left 属性的设定,会相对于父元素 div 来定位。

固定定位(fixed)

把第三行的定位属性改为固定定位时,

.Third {
            position: fixed;
            top: 25px;
            left: 30px;
        }

效果如图:


固定定位.png

效果看起来和绝对定位完全一致,但是固定定位的定位位置是浏览器的视图窗口,不会跟随浏览器页面的滚动而消失。

相关文章

  • CSS定位

    定位 相对定位 元素框会偏移。 元素保持原状 元素还占原位CSS 相对定位.png 绝对定位 元素框会偏移 元素保...

  • 总结css垂直居中的几种方式,实用

    1.很实用,父元素相对定位,子元素绝对定位 2.父元素相对定位,子元素绝对定位,利用margin。 /*设定水平和...

  • 子元素相对于父元素的绝对定位

    1、参照定位的元素必须是相对定位元素的父元素 2、参照定位的元素必须加入position:relative; 3、...

  • xpath 一些函数的运用

    1,normalize-space(@元素属性)= “定位元素” (去除元素的空格) 2,count (定位元素)...

  • appium元素定位

    appium提供了许多元素定位的方法,如id定位、name定位、class定位、层级定位等。 元素定位方式 id...

  • 定位09-11

    定位 通过position属性来设置元素的定位-可选值: 相对定位: 绝对定位: 固定定位: eg: 元素的层级 ...

  • Day06

    今天学到了什么? 一、定位 1.相对定位(父元素) 2.绝对定位(子元素) 3.固定定位 固定定位效果图 二、元素...

  • 简单介绍CSS定位position属性

    定位 position 属性规定元素的定位类型说明这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过...

  • CSS z-index

    当对多个元素同时设置定位时,定位元素可能会发生重叠。想要调整重叠定位元素的堆叠顺序,可以对定位元素应用z-inde...

  • 元素定位

    appium 通过 uiautomatorviewer.bat 工具来查看控件的属性。该工具位于Android S...

网友评论

    本文标题:定位元素

    本文链接:https://www.haomeiwen.com/subject/pendhctx.html