1. 程式人生 > >內嵌元素、塊元素、內聯塊的區分以及內嵌元素的問題

內嵌元素、塊元素、內聯塊的區分以及內嵌元素的問題

charset 什麽 ron 一個 box div2 16px 段落 無序

那麽什麽是塊元素,什麽是內嵌元素他們都有什麽特征呢請看下面的代碼?

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
<!--
一、塊的特征
    1、默認獨占一行 
    2、沒有寬度時,默認撐滿一排
    3、支持所有css命令
        1.無默認樣式:
        <div ><nav><section><header><footer>
        2.有默認樣式  
        <h></h>標題 margin 字體加粗 字體大小
        <p></p> 段落margin 
        <dl></dl>列表maigin
        <dd></dd>列表項maigin
        <ul></ul> 無序maigin  padding
        <ol></ol>有序maigin  padding
        <li></li>列項表項 list-style:none

二、內嵌(內聯、行內)的特征
    1、同排可以繼續跟同類的標簽
    2、內容撐開寬度
    3、不支持寬高
    4、不支持上下的margin和padding
    5、代碼換行被解析
        1.無默認樣式:
        <span></span>
        2.有默認樣式:
           a標簽 默認有顏色、下劃線
           strong 默認有字體加粗,強調的意思
           em,i 默認有字體傾斜
           mark 默認有背景顏色、字體顏色
           table 默認有表格邊框顏色,邊框間隙
           big  默認有字體加大
           b  默認有字體加粗
           table表格邊框顏色、邊框間隙。
           big字體加大
           
三、內聯塊 img input
--> <style> span{ width: 200px; height:200px; background-color: red; padding: 30px; } div{ width: 200px; height: 200px; border:1px solid black; margin-top
: 10px; } .span{ background: blue; /*margin: 30px;*/ padding: 30px; } </style> </head> <body> <span>內聯元素不支持寬高</span> <div><span class="span">
span1</span></div> </body> </html>

我們再來了解一下他們之間是如何轉換的:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <!--
            1、塊轉內聯:display: inline;
            2、內聯轉塊:display:block;
            3、內聯塊:display: inline-block;
                註意:IE67需要加.inlineB{*display: inline;*zoom: 1;}
                 IE67用*前綴;IE6用_前綴。
            inline-block特性:(1)塊在一行顯示
                             (2)行內屬性支持寬高
                                (3)沒有寬高時內容撐開寬高
                   問題:(1)內容換行被解析
                              (2)ie6,7不支持

        -->
        <style>
            .body{
                width: 700px;
                height: 400px;
                border: 1px solid #000000;
                font-size: 0;
            }
            .div1{
                display: inline;
                width: 200px;
                height:200px;
                background-color: red;
                font-size: 16px;
                
            }
            .span1{
                display: block;
                width: 200px;
                height:200px;
                background-color: red;
                border:10px solid yellow;
                margin-top: 70px;
                font-size: 16px;
                
            }
            #inlineB div,#inlineB span{
                display: inline-block;
                width: 100px;
                height: 100px;
                background: #CCCCCC;
                border: 1px solid #F0AD4E;
                font-size: 16px;
                
            }
            .box{
                width: 150px;
                height: 150px;
                background-color: red;
                border: 1px solid black;
                display: inline-block;
                *display: inline;
                *zoom: 1;
                font-size: 16px;    
            }
        </style>
    </head>
    <body>
        <div class="body">
            <div class="div1">div1</div>
            <span  class="span1">span1</span>
        </div>
        <div id="inlineB"  class="body">
            <div>div2</div>
            <span>span2</span>
        </div>
        <div class="body">
            <div class="box">box1</div>
            <div class="box">box2</div>
        </div>
    </body>
</html>

最後我們來看一下內嵌元素的問題:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
        /*
         1、內聯換行被解析出一個字體的間距,解決方法是給父集加font-size:0;自己重新設置字體。
         
        */
            #box1 span,#box1 div{
                width: 200px;
                height: 200px;
                border:1px solid black;
                background-color: red;
                margin-right: 100px;
                margin-bottom: 10px;
            }
            #box2{
                font-size: 0;
            }
            #box2 span{
                border:1px solid red;
                font-size: 16px;
            }
        </style>
    </head>
    <body>
        <div id="box1">
            <span>span1</span>
            <span>span2</span>
            <hr />
            <span>span1</span>
            <div></div>
        </div>
        
        <div id="box2">
            <span>span1</span><span>span2</span><span>span3</span>
            <hr />
            <span>span1</span>
            <span>span2</span>
            <span>span3</span>
        </div>    
    </body>
</html>

內嵌元素、塊元素、內聯塊的區分以及內嵌元素的問題