css之div中元素居中

div元素居中
div中行級元素居中
    <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

    div元素中的div居中
相關文章
相關標籤/搜索