css-相对定位、绝对定位和固定定位例子

相对定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>相对定位</title>
    <style type="text/css">
        .box1{
            height: 200px;
            background-color: red;
            position: relative;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: yellow;
            /*
            定位:
                - 定位指的就是将指定的元素摆放到页面的任意位置
                    通过定位可以任意的摆放元素
                - 通过position属性来设置元素的定位
                -可选值:
                    static:默认值,元素没有开启定位
                    relative:开启元素的相对定位
                    absolute:开启元素的绝对定位
                    fixed:开启元素的固定定位(也是绝对定位的一种)
            */
            /*
            当元素的position属性设置为relative时,则开启了元素的相对定位
                1.当开启了元素的相对定位以后,而不设置偏移量时,元素不会发生任何变化
                2.相对定位是相对于元素在文档流中原来的位置进行定位
                3.相对定位的元素不会脱离文档流
                4.相对定位会使元素提升一个层级
                5.相对定位不会改变元素的性质,块还是块,内联还是内联
            */
            position: relative;
            /*
            当开启了元素的定位(position属性值是一个非static的值)时,可以通过left right top bottom四个属性来设置元素的偏移量
                left:元素相对于其定位位置的左侧偏移量
                right:元素相对于其定位位置的右侧偏移量
                top:元素相对于其定位位置的上边的偏移量
                bottom:元素相对于其定位位置下边的偏移量
            通常偏移量只需要使用两个就可以对一个元素进行定位,
            一般选择水平方向的一个偏移量和垂直方向的偏移量来为一个元素进行定位
            */
            left: 100px;
            top: 200px;
        }
        .box3{
            width: 200px;
            height: 200px;
            background-color: yellowgreen;
        }

        .s1{
            position: relative;
            width: 200px;
            height: 200px;
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>

    <span class="s1">我是一个span</span>
</body>
</html>

绝对定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>绝对定位</title>
    <style type="text/css">
        .box1{
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: yellow;
            /*
            当position属性值设置为absolute时,则开启了元素的绝对定位

            绝对定位:
                1.开启绝对定位,会使元素脱离文档流
                2.开启绝对定位以后,如果不设置偏移量,则元素的位置不会发生变化
                3.绝对定位是相对于离他最近的、开启了定位的祖先元素进行定位的(一般情况,开启了子元素的绝对定位,都会同时开启父元素的相对定位)
                    如果所有的祖先元素都没有开启定位,则会相对于浏览器窗口进行定位
                4.绝对定位会使元素提升一个层级
                5.绝对定位会改变元素的性质:
                    内联元素变成块元素,
                    块元素的宽度和高度默认都被内容撑开
            */
            position: absolute;
            /*left: 100px;
            top: 100px;*/
        }
        .box3{
            width: 300px;
            height: 300px;
            background-color: yellowgreen;
        }
        .box4{
            width: 300px;
            height: 300px;
            background-color: orange;
            /*开启box4的相对定位*/
            /*position: relative;*/
        }
        .s1{
            width: 100px;
            height: 100px;
            background-color: yellow;
            /*开启绝对定位*/
            position: absolute;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box5">
        <div class="box4">
            <div class="box2"></div>
        </div>
    </div>
    <div class="box3"></div>

    <span class="s1">我是一个span</span>
</body>
</html>

固定定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>固定定位</title>
    <style type="text/css">
        .box1{
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: yellow;
            /*
            当元素的position属性设置fixed时,则开启了元素的固定定位
            固定定位也是一种绝对定位,它的大部分特点都和绝对定位一样
            不同的是:
                固定定位永远都会相对于浏览器窗口进行定位
                固定定位会固定在浏览器窗口某个位置,不会随滚动条滚动

            IE6不支持固定定位
            */
            position: fixed;
            left: 0px;
            top: 0px;
        }
        .box3{
            width: 200px;
            height: 200px;
            background-color: yellowgreen;
        }
    </style>
</head>
<body style="height: 5000px;">
    <div class="box1"></div>

    <div class="box4" style="width: 300px; height: 300px; background-color: orange; position: relative;">
        <div class="box2"></div>
    </div>

    <div class="box3"></div>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定位: 指定的元素摆放到页面的任意位置 通过定位可以任意的摆放元素 通过position属性来设置元素的定位...
    忆往昔04551阅读 2,047评论 0 0
  • CSS布局在整个前端开发中占据了大约50-70%的工作量,在遵循web规范的前提下,编写合乎规范的前端代码,实现结...
    FaithXiong阅读 4,206评论 0 0
  • 一直有人教育我们说“一分耕耘,一份收获”你的付出一定会得到相应的回报。世界那么大,人口那么多,如果每个人的付出都...
    语见生活阅读 4,010评论 0 0
  • 回到瑞安的第二天就陪妈妈住进了医院,明天下午安排手术了!妈妈是个典型的2号,似乎凡事都大大咧咧,没心没肺的,刚刚中...
    竺子阅读 1,072评论 0 0
  • 在异地,生活总不是那么的如意! 我也不例外,在异地学驾照遇到许多麻烦事,办一件事总是不成功,耐心总是不够用,但是想...
    我想__你会懂阅读 7,160评论 0 0

友情链接更多精彩内容