一、塊級元素 行內元素
div、h1 或 p 元素常常被稱為塊級元素。這意味著這些元素顯示為一塊內容,即“塊框”。與之相反,span 和 strong 等元素稱為“行內元素”,這是因為它們的內容顯示在行中,即“行內框”。
您可以使用 display 屬性改變生成的框的類型。這意味著,通過將 display 屬性設置為 block,可以讓行內元素(比如 <a> 元素)表現得像塊級元素一樣。還可以通過把 display 設置為 none,讓生成的元素根本沒有框。這樣的話,該框及其所有內容就不再顯示,不占用文檔中的空間。
但是在一種情況下,即使沒有進行顯式定義,也會創建塊級元素。這種情況發生在把一些文本添加到一個塊級元素(比如 div)的開頭。即使沒有把這些文本定義為段落,它也會被當作段落對待:
<div> 顯示出來的效果為:
some text some text
<p>Some more text.</p> Some more text.
</div>
在這種情況下,這個框稱為無名塊框,因為它不與專門定義的元素相關聯。
塊級元素的文本行也會發生類似的情況。假設有一個包含三行文本的段落。每行文本形成一個無名框。無法直接對無名塊或行框應用樣式,因為沒有可以應用樣式的地方(注意,行框和行內框是兩個概念)。但是,這有助於理解在屏幕上看到的所有東西都形成某種框。
塊級元素特點:
1、每個塊級元素都從新的一行開始,並且其後的元素也另起一行。(真霸道,一個塊級元素獨占一行)
2、元素的高度、寬度、行高以及頂和底邊距都可設置。
3、元素寬度在不設置的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度
塊狀元素也可以通過代碼display:inline
將元素設置為內聯元素
內聯元素特點:
1、和其他元素都在一行上;
2、元素的高度、寬度及頂部和底部邊距不可設置;
3、元素的寬度就是它包含的文字或圖片的寬度,不可改變。
常用的塊狀元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
常用的內聯元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的內聯塊狀元素有:
<img>、<input>
內聯塊狀元素(inline-block)就是同時具備內聯元素、塊狀元素的特點,代碼display:inline-block
就是將元素設置為內聯塊狀元素。(css2.1新增),<img>、<input>標簽就是這種內聯塊狀標簽。
inline-block 元素特點:
1、和其他元素都在一行上;
2、元素的高度、寬度、行高以及頂和底邊距都可設置。
二、水平居中
行內元素和塊級元素不同,對於行內元素,只需在父元素中設置text-align=center即可;
對於塊級元素有以下幾種居中方式:
1.將元素放置在table中,再將table的margin-left和margin-right設置成auto,將table居中,使在其之中的塊級元素葉居中,但是這種方式不符合語義化標簽的規范;
2.將塊級元素轉換行內元素(通過設置display:inline)後再居中.這種方式使居中元素變成行內元素而致使無法設置寬高;
3.設置父元素float:left,position:relative,left:50%;子元素float:left,position:relative,left:-50%,利用相對布局的方式居中.上面三種方式各有優劣,依使用情景具體選擇.
三、垂直居中
1.對於知道高度的元素可以設置上下padding相等;
2.設置line-height和height相等
3.利用vertical-align,但是這屬性只在tr,td中適用,故可將元素放置入table中在居中
源碼
代碼如下:
XML/HTML Code復制內容到剪貼板css樣式
CSS Code復制內容到剪貼板以上這篇關於css 行元素和塊元素 相互轉換 居中就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。