CSS浮動float的導航欄小案例總結

敲程式碼使我快樂發表於2020-10-27
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding:0;
        }
        .list{
            width: 1210px;
            height: 48px;
            background-color: #E8E7E3;
            margin:100px auto;
        }
        .list li{
            list-style: none;
            line-height: 48px;
            float: left;
            /*height: 100px;*//*設定了line-height之後就不用設定height了*/
            /*width: 140px;*/
            /*text-align: center;*/
        }
        .list a{
            /*沒有給li設定寬度,預設其由於浮動,其寬度會被a原始內容撐開*/
            display: block;
            /*height: 100%;*不用設定,此時的行高會繼承li的48px*/
            text-decoration: none;
            /*padding:0 39px;*/
            color: #777777;
            font-size: 18px;
            padding: 0 35px;
        }
        .list li:last-child a{
            padding:0 42px 0 52px;
        }
        .list a:hover{
            background-color: #3F3F3F;
            color: #E8E7E3;
        }
    </style>
</head>
<body>
        <ul class="list">
            <li><a href="#">HTML/CSS</a></li>
            <li><a href="#">Border YTY</a></li>
            <li><a href="#">Service DSV</a></li>
            <li><a href="#">BDRHFZB</a></li>
            <li><a href="#">HDSNVKIS</a></li>
            <li><a href="#">HDSVAERBSJPS</a></li>
            <li><a href="#">asdvNSNBI</a></li>
        </ul>
</body>
</html>
總結:
1.由於是為li設定浮動,因此將a元素轉換為block元素時,a仍是隨著父級元素li按水平排列的
2.由於li設定了浮動,a屬於li的子元素,當向改變li的大小時有兩種方法
 2.1 設定li的寬度width
 2.2 設定a內容大小,此時li會被a元素內容大小所撐開
3. 為每個a設定左右的邊距時,不能使用margin,因為margin不屬於盒子的視覺化區域,此時盒子的視覺化去會變小,而padding不會
4.當設定了文字的水平居中屬性line-height: 48px;時,此時該盒子的高度也預設時48px,不用另外設定



相關文章