<div class="treeTitle"> <img src="images/app.png" /> <span>導航菜單</span> </div>
要求:將<img>和<span>標籤居中
css
解答:div爲塊級元素,img和span爲行內元素。因此這個問題歸結爲塊級元素中的行內元素的居中問題。html
#treeTitle { background: url(../images/bj.png); height: 30px; color: white; text-align: left; line-height: 30px; } #treeTitle img{ vertical-align: middle; }
line-height爲行高,指的是文本行的基線間的距離。
app
行內元素會生成一個行內框,行內框只是一個概念,它沒法顯示出來,可是它又確實存在。在沒有其餘因素影響的時候,行內框等於內容區域,而設定行高則能夠增長或者減小行內框的高度,即,即:將行距的值(行高-字體尺寸)除以2,分別增長到內容區域的上下兩邊,以下圖:post
因爲行高能夠應用在任何元素上,所以同一行內的若干元素可能有不一樣的行高和行內框高。行框是指本行的一個虛擬矩形框,其高度等於本行內全部元素中行高最大的值。當有多行內容時,每行都會有本身的行框。
字體
當內容中含有圖片的時候,若是圖片的高度大於行高,則含有圖片行的行框將被撐大道圖片的高度。圖片雖然撐開了行框,可是不會影響行高,所以也不會影響到基於行高來計算的其餘屬性。當行內含有圖片的時候,圖片和文字的垂直對齊方式默認是基線對齊。因此再未加上如下代碼時,圖片和文字是底部對齊。url
#treeTitle img{ vertical-align: middle; }
關於line-height這裏有篇很是好的blog講解,line-height詳解,效果以下圖所示:spa