塊級元素與行內元素

        瀏覽器對待不同html元素的“態度”是有區別的,它把html元素分成塊級元素和行內元素兩類來看待,行內元素又稱爲內聯元素。當html文檔元素“流入”瀏覽器窗口時,行內元素會自左而右水平排列,一行內放不下再自上而下排列;而塊級元素是自上而下垂直排列。

        塊級元素的典型行爲特徵是:不願意和其他元素待在同一行(當然這是瀏覽器的安排),隱含樣式display:block(或display: table或display:list-item);塊級元素一般是其他元素的容器,可容納塊級元素、行內元素、文本。常見的塊級元素有div,p,h1~h6,hr,ul,ol,table,form等。

        行內元素的典型行爲特徵是:願意和其他元素待在同一行(當然是本行內還有剩餘空間的情況下),隱含樣式display:inline; 行內元素一般可容納行內元素(不同行內元素可容納的行內元素不同)和文本,一般不能容納塊級元素。常見的行內元素有a,span,img,input,select,textarea,em,strong等。

         塊級元素和行內元素還有一個明顯特徵存在區別:塊級元素可以設置width和height,而行內元素一般不能設置width和height。可以這樣爲div和p設置樣式: div,p {width:100px;height:100px;},而不能這樣爲a和span設置樣式: a,span { width:100px;height:100px;}。如果不爲塊級元素設置寬度,則其寬度取決於父元素的內容寬度;如果不爲塊級元素設置高度,則其高度由其內容決定。行內元素寬度由其內容長度決定;高度由其內部的元素行高決定。

        之所以說行內元素“一般不能”設置寬度和高度,是因爲像img,input等比較特別的行內元素,是可以設置寬度和高度的,這類比較特殊的行內元素又可稱爲可置換元素。可置換元素既可以和其他行內元素共處一行,也可以像塊級元素一樣設置寬度和高度。

        那麼如果我們想要爲那些“純粹”的行內元素,譬如a或span元素設置寬度和高度,也就是說,既想讓他們可以和其他行內元素共處一行,也可以像塊級元素一樣設置寬度和高度,是否能辦到呢?答案是肯定的。可以設置樣式規則display: inline-block;比如:a{display:  inline-block;width: 100px; height: 100px;},就像“僞娘”或“雙性人”一樣,既有男性特徵又有女性特徵。

        那麼如果我們想讓行內元素徹底“變性”爲塊級元素,是否能辦到呢?答案依然是肯定的。只要爲行內元素設置樣式規則display:block;即可。同理,爲塊級元素設置樣式規則display: inline;即可將其轉換爲行內元素。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章