1. 程式人生 > >css3之幾種盒模型

css3之幾種盒模型

昨晚回去花了點時間,系統的學習了一下盒模型,現總結如下。

1、盒的基本型別:
在css3中使用display屬性來定義盒的型別,總體來說盒分為block型別和inline型別。
我們之前所學的div元素和p元素屬於block型別,span和a屬於inline型別。如:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>盒的基本型別</title>
    <style>
        /*div{background: green}*/
        /*span{background: red}*/
        div{background: green;width: 50px;height: 50px}
        .div1{display: inline-block}
        .div2{display: inline}
    </style>
</head>
<body>
<h1>盒的基本型別</h1>
<div class="div1">在css3中,使用display屬性來定義盒的型別,總體來說盒分為block型別和inline型別。</div>
<div class="div2">在css3中,使用display屬性來定義盒的型別,總體來說盒分為block型別和inline型別。</div>
<!--<span>在css3中使用display屬性來定義盒的型別,總體來說盒分為block型別和inline型別。</span>-->
</body>
</html>
2、使用inline-block型別來顯示水平選單

在不使用inline-block型別之前,如果要實現水平選單,那麼我們需要使用float屬性。如

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>使用inline-block型別來顯示水平選單</title>
    <style>
        ul{
            margin:0;
            padding: 0;
        }
        li{
            padding: 10px 20px;
            background-color: #ff3454;
            border-right: solid 1px #2066c7;
            width: 100px;
            text-align: center;
            list-style: none;
            float: left;
        }
        a{
            color: #fff;
            text-decoration: none;
        }
    </style>
</head>
<body>
<h1>使用inline-block型別來顯示水平選單</h1>
<ul>
    <li><a href="index1.html">首頁</a> </li>
    <li><a href="index1.html">社群</a> </li>
    <li><a href="index1.html">css3教程</a> </li>
    <li><a href="index1.html">產品</a> </li>
    <li><a href="index1.html">聯絡我們</a> </li>
</ul>
</body>
</html>
效果;


使用inline-block之後,如

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>使用inline-block型別來顯示水平選單</title>
    <style>
        ul{
            margin:0;
            padding: 0;
        }
        li{
            display: inline-block;
            padding: 10px 20px;
            background-color: #ff3454;
            border-right: solid 1px #2066c7;
            width: 100px;
            text-align: center;
        }
        a{
            color: #fff;
            text-decoration: none;
        }
    </style>
</head>
<body>
<h1>使用inline-block型別來顯示水平選單</h1>
<ul>
    <li><a href="index1.html">首頁</a></li><li><a href="index1.html">社群</a></li><li><a href="index1.html">css3教程</a></li><li><a href="index1.html">產品</a></li><li><a href="index1.html">聯絡我們</a></li>
</ul>
</body>
</html>
效果與上圖一樣。

3、inline-table型別,對齊方式可以使用vertical-align: top;等。

4、list-item型別,可以將多個元素作為列表來顯示,同時在每個元素的開始加上列表的標記。

5、run-in型別與compact型別。

6、表格相關的型別,在CSS3中,所有與表格相關的元素及其所屬型別表:


例如:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>CSS3中所有與表格相關的元素</title>
    <style>
        body{
            margin: 10px;
            padding: 10px;
        }
        div.table{
            display: table;
            border: solid 5px #ccc;
        }
        div.table-caption{
            display: table-caption;
        }
        div.thead{
            display: table-header-group;
        }
        div.tr{
            display: table-row;
        }
        div.td{
            display: table-cell;
            border: solid 3px #898989;
            padding: 5px;
        }
    </style>
</head>
<body>
<h1>CSS3中所有與表格相關的元素</h1>
<div class="table">
    <div class="table-caption">表格的標題</div>
    <div class="thead">
        <div class="tr">
            <div class="td">1</div>
            <div class="td">2</div>
            <div class="td">3</div>
        </div>
        <div class="tr">
            <div class="td">4</div>
            <div class="td">5</div>
            <div class="td">6</div>
        </div>
        <div class="tr">
            <div class="td">7</div>
            <div class="td">8</div>
            <div class="td">9</div>
        </div>
    </div>
</div>
</body>
</html>
也同樣實現了表格的效果;


7、none型別,如果某個元素被指定了none型別,則這個元素將不會被顯示。

最後總結了一下,幾種常用瀏覽器對各種盒模型的支援情況,