• CSS Position(定位)


    position 属性指定了元素的定位类型。

    position 属性的五个值:

    • static
    • relative
    • fixed
    • absolute
    • sticky

    元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定position属性。他们也有不同的工作方式,这取决于定位方法。


    static 定位

    HTML 元素的默认值,即没有定位,遵循正常的文档流对象。

    静态定位的元素不会受到 top, bottom, left, right影响。

    1. div.static {
    2. position: static;
    3. border: 3px solid #73AD21;
    4. }

    fixed 定位

    元素的位置相对于浏览器窗口是固定位置。

    即使窗口是滚动的它也不会移动:

    1. p.pos_fixed
    2. {
    3. position:fixed;
    4. top:30px;
    5. right:5px;
    6. }

    注意: Fixed 定位在 IE7 和 IE8 下需要描述 !DOCTYPE 才能支持。

    Fixed定位使元素的位置与文档流无关,因此不占据空间。

    Fixed定位的元素和其他元素重叠。


    relative 定位

    相对定位元素的定位是相对其正常位置。

    1. h2.pos_left
    2. {
    3. position:relative;
    4. left:-20px;
    5. }
    6. h2.pos_right
    7. {
    8. position:relative;
    9. left:20px;
    10. }

    移动相对定位元素,但它原本所占的空间不会改变。

    相对定位元素经常被用来作为绝对定位元素的容器块。


    absolute 定位

    绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于:

    1. h2
    2. {
    3. position:absolute;
    4. left:100px;
    5. top:150px;
    6. }

    absolute 定位使元素的位置与文档流无关,因此不占据空间。

    absolute 定位的元素和其他元素重叠。


    sticky 定位

    sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。

    position: sticky; 基于用户的滚动位置来定位。

    粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

    它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

    元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。

    这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。

    注意: Internet Explorer, Edge 15 及更早 IE 版本不支持 sticky 定位。 Safari 需要使用 -webkit- prefix (查看以下实例)。

    1. div.sticky {
    2. position: -webkit-sticky; /* Safari */
    3. position: sticky;
    4. top: 0;
    5. background-color: green;
    6. border: 2px solid #4CAF50;
    7. }

    重叠的元素

    元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素

    z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面)

    一个元素可以有正数或负数的堆叠顺序:

    1. img
    2. {
    3. position:absolute;
    4. left:0px;
    5. top:0px;
    6. z-index:-1;
    7. }

    具有更高堆叠顺序的元素总是在较低的堆叠顺序元素的前面。

    注意: 如果两个定位元素重叠,没有指定z - index,最后定位在HTML代码中的元素将被显示在最前面。

  • 相关阅读:
    java-php-python-ssm智能化管理的仓库管理计算机毕业设计
    python学习003——enumerate() 函数
    【开源】SpringBoot框架开发人事管理系统
    常用工具类之spring-boot-devtools热部署
    2.9.C++项目:网络版五子棋对战之业务处理模块的设计
    (零基础学习)Neo4j+Spring boot 自行定义属性
    Python 面试:单元测试unit testing & 使用pytest
    cpu 支持内存带宽与内存最大长度的关系《鸟哥的 Linux 私房菜》
    动态域名解析
    C++STL-string类的实现(下)
  • 原文地址:https://blog.csdn.net/leyang0910/article/details/133817729