dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 865|回复: 0

[Html/Css] HTML连载58-绝对定位的参考点以及注意事项

[复制链接]
  • TA的每日心情

    2024-2-20 11:15
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    878

    主题

    4343

    帖子

    3995

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    3995

    发表于 2020-4-4 07:00:02 | 显示全部楼层 |阅读模式

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    一、绝对定位参考点
    1.规律:
    (1)默认情况下所有的绝对定位的元素,无论有没有祖先元素,都会以body作为参考点。

    [HTML] 纯文本查看 复制代码
    <style>
    
            .box1{
    
                width: 300px;
    
                height: 300px;
    
                background-color: red;
    
                /*position:absolute;*/
    
                /*left:0px;*/
    
                /*bottom:0px;*/
    
            }
    
            .box2{
    
                width: 200px;
    
                height: 200px;
    
                background-color: yellow;
    
                position: absolute;
    
                left:0px;
    
                bottom:0px;
    
            }
    
    </style>
    
    </head>
    
    <body>
    
    <div class="box1">
    
        <div class="box2"></div>
    
    </div>

    1.jpg

    (2)如果有一个绝对定位的元素有祖先元素,并且祖先元素也是定位流,那么这个绝对定位的元素就会以定位流的那个祖先元素为参考点。

    [HTML] 纯文本查看 复制代码
    .box1{
    
                width: 300px;
    
                height: 300px;
    
                background-color: red;
    
                position:absolute;
    
                left:0px;
    
                bottom:0px;
    
            }
    
            .box2{
    
                width: 200px;
    
                height: 200px;
    
                background-color: yellow;
    
                position: absolute;
    
                left:0px;
    
                top:0px;
    
            }

    2.jpg

    注意点:i.只要是这个绝对定位元素的祖先元素都可以。ii.指的定位流是指绝对定位/相对定位/固定定位,定位流中只有静态定位是不行的。
    (3)如果一个绝对定位的元素有祖先元素,并且祖先元素也是定位流,而且祖先元素中有多个元素都是定位流,那么这个绝对定位的元素会以离它最近的祖先元素作为参考点。


    [HTML] 纯文本查看 复制代码
    .......上面的代码不变..........
    
            .box3{
    
                width: 100px;
    
                height: 100px;
    
                background-color: black;
    
                position:absolute;
    
                right:0px;
    
                bottom:0px;
    
            }
    
     .........省略代码.......
    
     <div class="box1">
    
        <div class="box2">
    
            <div class="box3"></div>
    
        </div>
    
    </div>


    3.jpg
    二、绝对定位的注意点
    (1)如果一个绝对定位的元素是以body作为参考点,那么其实是以网页首屏的宽度和高度作为参考点的,而不是以整个网页的宽度和高度作为参考点的。

    [HTML] 纯文本查看 复制代码
    <!DOCTYPE html>
    
    <html lang="en">
    
    <head>
    
        <meta charset="UTF-8">
    
        <title>D152_LimeLightOfAbsolutePosition</title>
    
        <style>
    
            .box1{
    
                width: 100px;
    
                height: 100px;
    
                background-color: red;
    
                position:absolute;
    
                bottom:0px;
    
                right:0px;
    
    ​
    
            }
    
            .box2{
    
                width: 2000px;
    
                height: 100px;
    
                background-color: blue;
    
                position:
    
            }
    
            .box3{
    
                width: 200px;
    
                height: 2000px;
    
                background-color: black;
    
    ​
    
            }
    
    </style>
    
    </head>
    
    <body>
    
    <div class="box1"></div>
    
    <div class="box2"></div>
    
    <div class="box3"></div>
    
    </body>
    
    </html>

    4.jpg

    (2)一个绝对定位的元素会忽略祖先元素的padding属性。

    [HTML] 纯文本查看 复制代码
    .box4{
    
                height: 300px;
    
                width: 300px;
    
                background-color: yellow;
    
                padding:50px;
    
                /*position:absolute;*/
    
                /*boder:20px  black ;*/
    
            }
    
            .box5{
    
                height: 100px;
    
                width: 100px;
    
                background-color: red;
    
                position:absolute;
    
                left:0px;
    
                top:0px;     
    
            }
    
        </style>
    
    </head>
    
    <body>
    
    <div class="box4">
    
        <div class="box5"></div>
    
    </div>

    5.jpg
    三、源码:
    D151_ReferencePointOfAbosulotePositoning.html
    D152_LimeLightOfAbsolutePosition.html




    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2025-2-2 04:32 , Processed in 0.212411 second(s), 36 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表