1. 程式人生 > >display和position的值與用途

display和position的值與用途

自身 作用 htm 觸發 改變 html 相對 常見 .com

1、display屬性的值與作用

常用的值有none、inline、block、inline-block

none

1)表示該元素不會顯示,並且該元素的空間也不存在,可理解為已刪除;

2)visibility:hidden只是將元素隱藏,但不會改變頁面布局,但也不會觸發該元素已經綁定的事件;

3)opacity:0,將元素隱藏,不會改變頁面布局,但會觸發該元素綁定的事件。

inline

1)內聯元素,與其他元素在一行;

2)不可設置寬高;

3)margin-top與margin-bottom無效,但margin-left與margin-right有效;

4)padding-left與padding-right同樣有效,但是padding-top與padding-bottom不會影響元素高度,會影 響背景高度;

5)常見的有<a>、<span>、<br>、<i>、<em>、<strong>。

block

塊級元素,常見的有<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>

inline-block

1)行內塊元素,即是內聯元素,又可設置寬高以及行高及頂和底邊距;

2)常見的有<img>、<input>。

2.position屬性的值和作用

position屬性有四個可選值,分別為static、relative、absolute、fixed。

static

默認值,元素出現在正常的文檔流中,不會受left、top、right、bottom的影響。

relative

相對定位,相對自身位置定位,可通過設置left、top、right、bottom的值來設置位置;

並且它原本所占的空間不變,即不會影響其他元素布局;

經常被用來作絕對元素的容器塊。

absolute

絕對定位,相對於最近的除static定位以外的元素定位,若沒有,則相對於html定位;

脫離了文檔流,不占據文檔空間;

若設置absolute,但沒有設置top、left等值,其位置不變;

若設置absolute,會影響未定義寬度的塊級元素,使其變為包裹元素內容的寬度。

fixed

固定定位 相對於瀏覽器窗口定位,脫離文檔流,不會隨頁面滾動而變化。

1、relative。

定位為relative的元素脫離正常的文本流中,但其在文本流中的位置依然存在。如圖1:

技術分享圖片

黃色背景的層定位為relative,紅色邊框區域為其在正常流中的位置。在通過top、left對其定位後,從灰色背景層的位置可以看出其正常位置依然存在。

2、absolute。

定位為absolute的層脫離正常文本流,但與relative的區別是其在正常流中的位置不在存在。如圖2:

技術分享圖片

可以看到,在將黃色背景層定位為absolute後,灰色背景層自動補上。

3、relative與absolute的主要區別:

首先,是上面已經提到過的在正常流中的位置存在與否。

其次,relative定位的層總是相對於其最近的父元素,無論其父元素是何種定位方式。

display和position的值與用途