亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CSS高級技巧:網(wǎng)頁布局

互聯(lián)網(wǎng)   發(fā)布時間:2008-10-17 19:21:06   作者:佚名   我要評論
上一篇CSS教程 文章:CSS高級技巧:文字環(huán)繞圖片 布局 CSS至關(guān)重要的作用, CSS的設(shè)計初衷. CSS布局和幾年前table橫行時的布局又不太一樣, 在結(jié)構(gòu)化語義化的HTML文檔后面, CSS在格式化文檔的渲染效果, 把結(jié)構(gòu)化文檔用表現(xiàn)化語言來描述. 簡而言之, 就是CSS不需要表現(xiàn)性

上一篇CSS教程 文章:CSS高級技巧:文字環(huán)繞圖片 布局
CSS至關(guān)重要的作用, CSS的設(shè)計初衷.
CSS布局和幾年前table橫行時的布局又不太一樣, 在結(jié)構(gòu)化語義化的HTML文檔后面, CSS在格式化文檔的渲染效果, 把結(jié)構(gòu)化文檔用表現(xiàn)化語言來描述. 簡而言之, 就是CSS不需要表現(xiàn)性標(biāo)簽!
CSS布局技術(shù)依賴于三個基本概念: 定位, 浮動, margin操縱. 布局技術(shù)之間沒有本質(zhì)的區(qū)別, 相同一種布局讓100個前端開發(fā)工程師來做, 可能就有100種方法. 居中
在table時代, align和Valign相當(dāng)?shù)暮糜? 而在CSS中卻沒有簡單實現(xiàn)的方法,所以在標(biāo)準(zhǔn)化剛剛開始推廣的時候, 很多重構(gòu)項目中居中問題變成了阻礙標(biāo)準(zhǔn)化進(jìn)步的絆腳石.
1. 自動外補(bǔ)丁水平居中
一般情況下水平居中比較容易實現(xiàn), 只需要給要居中的容器設(shè)定寬度, 以及自動水平外補(bǔ)丁就可以了.
比如HTML如下:

<body>
<div class="wrapper">
</div>
</body>

CSS如下:

body{}
.wrapper{width:760px;margin:0 auto;}

很簡單不是嗎? 但是有點小問題... 我們親愛的IE家族里, IE5.x和IE 6不支持自動外補(bǔ)丁, 但是同樣幸運(yùn)的是, 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了.
2. 定位法水平居中
我們也可以稍稍復(fù)雜的用定位法來完成這個工作. 所謂的定位法是用 position 屬性來定義容器位置.
同樣用上面一例的HTML代碼,
我們用定位法的CSS如下:

body{margin:0;padding:0;}
.wrapper{position:relative;left:50%;width:760px;margin-left:-380px;}

為什么用相對定位( relative )呢? 能用絕對定位(absolute )嗎?
絕對定位當(dāng)然也可以, 但是絕對定位會將容器提出文檔流, 讓后面的文檔流到定位容器的位置去了, 稍不注意就會被定為的容器遮蓋住后面的內(nèi)容, 而relative不會將容器提出文檔流, 后面的文檔流會給定位的容器留下它應(yīng)有的空間.
3. 垂直居中
CSS中比較大的問題出現(xiàn)了, CSS較難使用簡單的方法來完成垂直居中.
在容器中要使文字垂直居中, 那可以將容器的line-height設(shè)置的和height一樣來完成這個工作,
但是要使容器垂直居中的話, 那就比較復(fù)雜了.
HTML如下:

<body>
<div class="wrapper">
<div id="box">123</div>
</div>
</body>

CSS如下:

body{margin:0;padding:0;height:100%;}
.wrapper{display:table-cell;vertical-align:middle;width:600px;height:400px;border:solid 1px red;}
#box{width:200px;margin:auto;vertical-align:middle;border:solid 1px blue;}

按理說這樣就可以了呀, 但是IE下面一點效果都沒有...那是因為IE的display屬性只接收:block, inline, inline-block, none, inherit, 不接收table, table-cell, table-row, 那就頭痛了呀.
唔, 其實思路有很多, 我提供其中一種:
CSS如下:

body{margin:0;padding:0;height:100%;}
.wrapper{width:600px;height:400px;border:solid 1px red;}
#box{width:200px;height:200px;position:relative;top:50%;left:50%;margin-top:-100px;margin-left:-100px;border:solid 1px green;}

局限性非常大, 必須要已知高度...
更可以對IE瀏覽器進(jìn)行filter之后hack它. 使用ie獨有的expression, 雖然在大型腳本上expression表現(xiàn)的相當(dāng)差, 但是簡單的計算offsetHeight還是不太會影響性能, 再怎么說M$也針對expression進(jìn)行過優(yōu)化.
所以垂直居中還是要看場合自行挑選合適的方案來解決.

浮動布局
現(xiàn)在大家都熟知浮動布局了, 不多說, 這個是CSS布局的基礎(chǔ)...主要是float和margin的合理應(yīng)用.
Faux Columns:
偉大的Dan的另一項發(fā)明, 呵呵, 其實很簡單, 用垂直平鋪背景圖來做出視覺上多欄布局等高的效果. 但是很實用, 不是嗎?
Equal height boxes with CSS:
在標(biāo)準(zhǔn)推行過程中比較有名的文章之一, 介紹像table一樣進(jìn)行CSS布局, 但是不適用于IE...唉 彈性布局
很不錯的理念, 原理其實也不難, 就是用em來標(biāo)注尺寸, 這樣就可以讓瀏覽器自行放大或縮小任何的容器或是元素了.
下一篇CSS教程 文章:CSS高級技巧:陰影效果

相關(guān)文章

  • css九宮格布局的五種方法

    本文主要介紹了css九宮格布局的五種方法,內(nèi)容包括grid布局、flex布局、table布局、float浮動定位、inline-block+letter-spacing屬性這五種方法的實現(xiàn),感興趣的可以了解下
    2023-09-18
  • CSS實現(xiàn)元素水平垂直居中的幾種方法

    在Web開發(fā)中,經(jīng)常會遇到需要將元素水平和垂直居中的情況,今天,將為大家分享幾種CSS方法,讓你的元素輕松居中,讓頁面更美觀吸引人,感興趣的小伙伴可以自己動手試一試
    2023-09-08
  • css實現(xiàn)元素居中的6種方法

    相信大家在面試的時候也會經(jīng)常碰到css實現(xiàn)元素居中的方法,下面我介紹6種方法給大家,歡迎大家評論區(qū)交流
    2023-09-07
  • flex布局中使用flex-wrap實現(xiàn)換行的項目實踐

    最近需要做個換行的布局,本文主要介紹了flex布局中使用flex-wrap實現(xiàn)換行的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需
    2022-06-16
  • CSS布局之浮動(float)和定位(position)屬性的區(qū)別

    今天看到有朋友留言問浮動和定位有什么區(qū)別,如何使用?今天找了篇文章,講的比較通俗易懂,供大家參考
    2021-09-23
  • css實現(xiàn)元素居中的N種方法

    這篇文章主要介紹了css實現(xiàn)元素居中的N種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • div水平布局兩邊對齊的三種實現(xiàn)方法

    這篇文章主要介紹了div水平布局兩邊對齊的三種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起
    2021-01-21
  • waterfall瀑布流布局+動態(tài)渲染的實現(xiàn)

    這篇文章主要介紹了waterfall瀑布流布局+動態(tài)渲染的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起
    2021-01-19
  • 頁面中有間隔的方格布局如何完美實現(xiàn)方法

    這篇文章主要介紹了頁面中有間隔的方格布局如何完美實現(xiàn)方法。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來
    2020-11-27
  • css實現(xiàn)六種自適應(yīng)兩欄布局方式

    這篇文章主要介紹了css實現(xiàn)六種自適應(yīng)兩欄布局方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)
    2020-10-28

最新評論