天天看點

内聯元素<span>怎樣居中顯示,塊級元素和内聯元素~

今天先來解釋一下什麼是内聯元素,什麼是塊元素

百度百科中怎麼寫呢:

塊元素又名塊級元素(block element),和其對應的是内聯元素(inline element),都是html規範中的概念。大多數HTML 元素被定義為塊級元素或内聯元素。塊級元素在浏覽器顯示時,通常會以新行來開始(和結束)。
内聯元素又名行内元素(inline element),和其對應的是塊元素(block element),都是html規範中的概念。内聯元素的顯示,為了幫助了解,可以形象的稱為“文本模式”,即一個挨着一個,都在同一行按從左至右的順序顯示,不單獨占一行。而當加入了css控制以後,塊元素和内聯元素的這種屬性差異就不成為差異了。比如,我們完全可以把内聯元素加上display:block這樣的屬性,讓它也有每次都從新行開始的屬性,即成為塊元素同樣我們可以把塊元素加上display:inline這樣的屬性,讓它也在一行上排列。

在我的了解中:

塊元素就是:地位高,每一個新的塊元素标簽都會給配置設定在新的行裡,就算這個元素的寬度很小,也給配置設定一個新的行。

内聯元素就是:地位低,大家擠一擠在一行裡,擠不下了再給配置設定下一行,唉,好慘。

那麼常見的塊元素和内聯元素有哪些嘞?

常用的塊級元素:

   div , address , center ,dl , form , h1 , h2 , h3 , h4 , h5 , h6 , menu , ol , p , table , ul , li

常用内聯的元素:

  a , b , br , em , font , img , input , label , select , small , span , textarea

可變元素(根據上下文關系确定該元素是塊元素還是内聯元素):

  button

塊元素和内聯元素的差別

塊元素的特點:

①總是在新行上開始,占據一整行;

②高度,行高以及外邊距和内邊距都可控制;

③寬帶始終是與浏覽器寬度一樣,與内容無關;

④它可以容納内聯元素和其他塊元素。

行内元素的特點:

①和其他元素都在一行上;

②高,行高及外邊距和内邊距部分可改變;

③寬度隻與内容有關;

④行内元素隻能容納文本或者其他行内元素。

不可以設定寬高,其寬度随着内容增加,高度随字型大小而改變,内聯元素可以設定外邊界,但是外邊界不對上下起作用,隻能對左右起作用,也可以設定内邊界,但是内邊界在ie6中不對上下起作用,隻能對左右起作用

哎我天,說這麼多沒啥用,看看代碼(塊元素以div為例子,内聯元素以span為例)

<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <span class="txt1">我想讓他居中</span>
    <span class="txt1">我想讓他居中</span>
    <span class="txt1">我想讓他居中</span>
    <span class="txt1">我想讓他居中</span>
    <div class="txt2">我想讓他居中</div>
    <div class="txt2">我想讓他居中</div>
    <div class="txt2">我想讓他居中</div>
    <div class="txt2">我想讓他居中</div>    
    <div class="txt3">我想讓他居中</div>
    <div class="txt3">我想讓他居中</div>
    <div class="txt3">我想讓他居中</div>
    <div class="txt3">我想讓他居中</div>
</body>
</html>
           

css樣式:

<style>
    .txt1{
        text-align: center;
        height: 50px;
        width: 100%;
        color: peachpuff;
        background-color: palevioletred;
    }
    .txt2{
        margin-top: 2px;
        text-align: center;
        height: 50px;
        width: 20%;
        color: peachpuff;
        background-color: brown;
    }
    .txt3{
        margin-top: 2px;
        text-align: center;
        height: 50px;
        width: 100%;
        color: peachpuff;
        background-color: brown;
    }
</style>
           

運作效果:

内聯元素&lt;span&gt;怎樣居中顯示,塊級元素和内聯元素~

大家可以看到,上面的四個小東西(span)是沒有受到css的影響的。

我給span的class取名 txt1

.txt1{
        text-align: center;
        height: 50px;
        width: 100%;
        color: peachpuff;
        background-color: palevioletred;
    }
           

但是這裡的span并沒有受到任何影響,居中沒影響,寬高沒影響,太慘了,這是想急死我們程式員啊,這時候百度大大告訴我,因為span是内聯元素,你直接寫寬高是不受影響的喔,需要加一個display:block,這樣就讓span擁有一個塊元素的屬性。就宛若沖了錢的人民币玩家哦!

那我們加一個

.txt1{
        display: block;
        text-align: center;
        height: 50px;
        width: 100%;
        color: peachpuff;
        background-color: palevioletred;
    }
           
内聯元素&lt;span&gt;怎樣居中顯示,塊級元素和内聯元素~

這下我們的4個span的寬高還有居中都好用啦,開心啦

那我還聽說還可以添加一個display:inline-block 也是好用的,看下效果咯

//代碼
.txt1{
        display: inline-block;
        text-align: center;
        height: 50px;
        width: 50px;
        color: peachpuff;
        background-color: palevioletred;
    }
           
内聯元素&lt;span&gt;怎樣居中顯示,塊級元素和内聯元素~

display:inline-block 是可以給排列在一排内的内聯元素設定寬高的條件~

反觀,各位同學自己看一下div的代碼,這裡就不一樣了,不需要制定display:block這樣的屬性,寬高設定都是直接好用的。而且每一個新的div,無論大小能不能放在一行内,都會配置設定給他們一個新行。