建站知識
網(wǎng)站設(shè)計知識 網(wǎng)站建設(shè)知識 網(wǎng)絡(luò)營銷知識 微信資訊 常見問題 網(wǎng)站備案 公司新聞網(wǎng)站建設(shè)套餐
標準型網(wǎng)站建設(shè) 精美型網(wǎng)站建設(shè) 營銷型網(wǎng)站建設(shè) 高端品牌網(wǎng)站建設(shè) 電子商務(wù)型網(wǎng)站建設(shè) 行業(yè)門戶型網(wǎng)站建設(shè) 手機網(wǎng)站建設(shè) 微信網(wǎng)站建設(shè)網(wǎng)頁設(shè)計:CSS高級技巧之網(wǎng)頁布局
布局
CSS至關(guān)重要的作用, CSS的設(shè)計初衷.
CSS布局和幾年前table橫行時的布局又不太一樣, 在結(jié)構(gòu)化語義化的HTML文檔后面, CSS在格式化文檔的渲染效果, 把結(jié)構(gòu)化文檔用表現(xiàn)化語言來描述. 簡而言之, 就是CSS不需要表現(xiàn)性標簽!
CSS布局技術(shù)依賴于三個基本概念: 定位, 浮動, margin操縱. 布局技術(shù)之間沒有本質(zhì)的區(qū)別, 相同一種布局讓100個前端開發(fā)工程師來做, 可能就有100種方法.
居中
在table時代, align和Valign相當?shù)暮糜? 而在CSS中卻沒有簡單實現(xiàn)的方法,所以在標準化剛剛開始推廣的時候, 很多重構(gòu)項目中居中問題變成了阻礙標準化進步的絆腳石.
1. 自動外補丁水平居中
一般情況下水平居中比較容易實現(xiàn), 只需要給要居中的容器設(shè)定寬度, 以及自動水平外補丁就可以了.
比如HTML如下:
。糱ody>
<div class="wrapper">
</div>
</body>
CSS如下:
body{}
.wrapper{width:760px;margin:0 auto;}
很簡單不是嗎? 但是有點小問題... 我們親愛的IE家族里, IE5.x和IE 6不支持自動外補丁, 但是同樣幸運的是, IE將 text-align:center 理解為所有東西居中, 而不只是文本. 哈哈, 可以利用這個Bug.
將CSS改為:
body{text-align:center;}
.wrapper{width:760px;margin:0 auto;text-align:left;}
這里就用到了一種Hack,不過不會影響其他瀏覽器的Hack就是好Hack,呵呵, 就先這么用著吧~
等等, 好像Netscape那邊也出問題了, 用Netscape 6將窗口縮小到小于容器寬度時, 容器的左邊就會跑到屏幕外邊去了, 而且還不會有滾動條...萬惡的瀏覽器大戰(zhàn)啊...
再來改改我們的CSS:
body{min-width:760px;text-align:center;}
.wrapper{width:760px;margin:0 auto;text-align:left;}
這樣就基本上ok了.