CSS 怎樣使DIV層水準居中
今天用CSS碰到個非常棘手的問題,DIV本身未定義自己居中的屬性,
網上非常多的方法都是介紹用上級的text-align: center然後嵌套一層DIV來解決這個問題.
但是其實這個方案科學嗎?
經過網絡搜尋和親自實驗得出下面結論:
正确的也是對頁面構造沒有影響的設定例如以下:
對須要水準居中的DIV層加入下面屬性:
經過這麼一番設定問題似乎攻克了,在FF中已經居中了,但是在IE中看居然還是沒有居中!
郁悶了一下午,就是找不出問題所在,還特地比較了網上的文章居然一模一樣.
問題究竟出在哪裡呢?
感謝網友樂天無用幫忙找出了這個邪門問題的解決辦法.
原來是L-Blog預設沒有在HTML前加上DTD,于是IE就以HTML而不是XHTML來解釋文檔.
問題并不在CSS而在XHTML網頁本身.
須要加上這種代碼才幹使得上述設定有效果:
假設您希望更為嚴格的XHTML 1.0 Strict或者XHTML 1.1請查閱相關資料.
上面的測試均基于Windows XP SP2版IE6和FireFox 1.0終于版.
怎樣使DIV居中
基本的樣式定義例如以下:
說明:
首先在父級的元素中定義TEXT-ALIGN: center;這個的意思就是在父級的元素中内的内容居中。對于IE這樣設定就已經能夠了。但在mozilla中不能居中。解決的方法就是在子元素定義時候設定時再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”
須要說明的是,假設你想用這種方法使整個頁面要居中。建議不要套在一個DIV裡,你能夠依次拆出多個div,僅僅
要在每一個拆出的div裡定義MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就能夠了。
怎樣使圖檔在DIV 中垂直居中,用背景的方法。舉例:
body{BACKGROUND: url(http://www.w3cn.org/style/001/logo_w3cn_194x79.gif) #FFF no-repeat center;}
關鍵就是最後的center,這個參數定義圖檔的位置。還能夠寫成“top left”(左上角)或者"bottom right"等,也能夠直接寫數值"50 30"
怎樣使文本在DIV中垂直居中
假設是文字,便不能用背景方法,能夠用增高行距的辦法變通實作垂直居中,完整代碼例如以下:
vertical-align:middle;表示行内垂直居中,我們将行距添加到和整個DIV一樣高line-height:200px;然後插入文字,就垂直居中了。
CSS+DIV控制頁面中元素垂直居中代碼 全局和區域垂直居中
還有一方法:
版權聲明:本文部落客原創文章。部落格,未經同意不得轉載。