1

简述

定位问题一直是新手学习css的一个难点,现在我将他们总结出来,希望对大家有帮助

position详解

在css中,通过position属性,配合top,right,left,buttom对元素进行定位
position属性有:static,relative,absolute,fixed四种,下面分别探讨

默认定位static

<!doctype html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
    </head>
    <style type="text/css">
        .container {
            width: 400px;
            height: 400px;
            background-color: #DDDDDD;
        }
        .container div {
            border: 1px solid #F5F5F5;
            width: 100px;
            height: 100px;
            background-color: #06A7E1;
        }
    </style>

    <body>
        <div class="container">
            <div class="x1">一</div>
            <div class="x2">二</div>
            <div class="x3">三</div>
        </div>
    </body>

</html>

效果:图片描述

盒子一行一个,自动换行

相对定位relative

<!doctype html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
    </head>
    <style type="text/css">
        .container {
            width: 400px;
            height: 400px;
            background-color: #DDDDDD;
        }
        .container div {
            border: 1px solid #F5F5F5;
            width: 100px;
            height: 100px;
            background-color: #06A7E1;
        }
        .x1{
            position: relative;
            top: 5px;
            left: 5px;
        }
    </style>

    <body>
        <div class="container">
            <div class="x1">一</div>
            <div class="x2">二</div>
            <div class="x3">三</div>
        </div>
    </body>

</html>

图片描述

元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。

绝对定位absolute

<!doctype html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
    </head>
    <style type="text/css">
        .container {
            width: 400px;
            height: 400px;
            background-color: #DDDDDD;
            position: relative;
        }
        .container div {
            border: 1px solid #F5F5F5;
            width: 100px;
            height: 100px;
            background-color: #06A7E1;
        }
        .x1{
            position: absolute;
            top: 50px;
            left: 50px;
        }
    </style>

    <body>
        <div class="container">
            <div class="x1">一</div>
            <div class="x2">二</div>
            <div class="x3">三</div>
        </div>
    </body>

</html>

图片描述

元素脱离原来的位置,释放来的空间,相当于被独立出来了,此时,它所相对的位置是它position为relative的父级元素,如果没有,则相对于body定位

固定定位fixed

元素框的表现类似于将 position 设置为 absolute,不过它的位置始终相对于窗口,可以实现固定导航栏的效果


已注销
981 声望48 粉丝

Focus on programming efficiency