絕對(duì)居中于不(bù)同浏覽器(qì)的(de)另類☆±解決方案
日(rì)期:2013-05-07發布:首創網絡浏覽:456次
絕對(duì)居中于不(bù)同浏覽器(&×qì)的(de)另類解決方案。我們在網頁制(zhì)作(zuò)中♦γ,同樣的(de)合法CSS居中設置在不(bù)同浏覽≠σ↕器(qì)中的(de)表現(xiàn)行(xíng)為(wè¶∏βi)卻各有(yǒu)千秋,下(xià)面讓我們先來(lái)®≤♣看(kàn)一(yī)下(xià)CSS中∞ 常見(jiàn)的(de)幾種讓元素水(shuǐ)平居中顯示的(de)方法Ω&✘。 CSS常見(jiàn)的(de)讓元素水(shuǐ)平居中ε÷α顯示方法 用(yòng)CSS讓元素居中顯示并不(bù)是(s₩♠hì)件(jiàn)···
本文(wén)關鍵字:絕對(duì),居中,于不(bù)同,于,不(b>× ☆ù)同,浏覽器(qì),的(de),另類,
絕對(duì)居中于不(bù)同浏覽β→器(qì)的(de)另類解決方案。我們在網頁制(zhì)作(z≈§★₹uò)中,同樣的(de)合法CSS居中設置在™÷∏不(bù)同浏覽器(qì)中的(de)表現(xiàn)行(xí™γng)為(wèi)卻各有(yǒu)千秋,下(&∑§xià)面讓我們先來(lái)看(kàn)一(yī)下(xià)Cδ•SS中常見(jiàn)的(de)幾種讓元素$€£水(shuǐ)平居中顯示的(de)方法。
CSS常見(jiàn)的(de)讓元素水(shuǐ)平♦居中顯示方法
用(yòng)CSS讓元素居中顯示并不(bùλ•)是(shì)件(jiàn)很(hěn)πγ簡單的(de)事(shì)情—同樣 ®•的(de)合法CSS居中設置在不(bù)同浏覽器(qì¶÷)中的(de)表現(xiàn)行(xíng)為(wèi)卻各有(yǒu)千δ♥Ωε秋。讓我們先來(lái)看(kàn)一(yī)下(xià)CSS中常見(εΩ♠jiàn)的(de)幾種讓元素水(shuǐ)平居中顯₩示的(de)方法。
1.使用(yòng)自(zì)動外(wài)邊距實現(xiàn)居σ∞←中
CSS中首選的(de)讓元素水(shuǐ)平居中♥←₽的(de)方法就(jiù)是(shì)使用(y♥λòng)margin屬性—将元素的(π®de)margin-left和(hé)m¥♠₩argin-right屬性設置為(wèi)au>✔to即可(kě)。在實際使用(yòng)中,我們可(k™☆ααě)以為(wèi)這(zhè)些(xiē)需要(yào)居中的÷←✔&(de)元素創建一(yī)個(gè)起容器(qì)作♦ (zuò)用(yòng)的(de)p。需要(yào)特£λ'别注意的(de)一(yī)點就(jiù)是(shì),必須為(wè≤¶i)該容器(qì)指定寬度:
p#container{margin-left:auto;marginβ±₹-right:auto;width:168px;}
在大(dà)多(duō)數(shù)主流浏覽器(qì)中,這(zh®'≠è)種方法都(dōu)非常有(yǒu)效,即使是(shì)×₩φWindows平台上(shàng)的(de)IE6,在其标準兼容模式(♠©↔compliancemode)下(xià)也(yα>∞ě)能(néng)夠正常顯示。但(dàn)不(bù)幸的(de)是π↔(shì),在更低(dī)版本的(de)IE中,這(zhè)種設置卻δε并不(bù)能(néng)實現(xiàn)居> 中效果。所以若想在實際項目中使用(yòng)這(zφ•hè)種方法,那(nà)麽就(jiù)要(yào)确保用(yòng)戶的(d✔§★₩e)IE浏覽器(qì)版本不(bù)低(dī)于↔∑'γ6.0。
盡管在支持上(shàng)不(bù)₹σ盡如(rú)人(rén)意,但(dàn)大(dà)多(duō)數(shù)設α×£計(jì)師(shī)都(dōu)建議(yì)盡可(kě)能(néng)地•↕←(dì)使用(yòng)這(zhè)種方法。該方法也(yě)被認為(↓★wèi)是(shì)在各種用(yòng)CSS實現(xiàn)元素水(s×♠huǐ)平居中方法中最正确、最合理(lǐ)的(δφ∑de)一(yī)種。
2.使用(yòng)text-ali↕∑gn實現(xiàn)居中
另一(yī)種實現(xiàn)元素↔₩居中的(de)方法是(shì)使用(yòng)text™γ∞-align屬性,将該屬性值設置為(wèi)center并應用(yòng)♣ 到(dào)body元素上(shàng)即可 ₹☆(kě)。這(zhè)種做(zuò)法是(sh↓↑" ì)徹頭徹尾的(de)hack,但(dàn)它卻能(néδ™ng)兼容大(dà)多(duō)數(shù)浏覽器(qì),所以在某σ>些(xiē)情況下(xià)也(yě)自(zì)然必不(bù)可 £"(kě)少(shǎo)。
之所以說(shuō)它是(shì)hack,α€是(shì)因為(wèi)這(zhè)種方法并沒有(yǒu)将文(wén)本<±屬性應用(yòng)到(dào)文(wén)本上(shàng♠≥↔®),而是(shì)應用(yòng)到(dào)了(le)作(₽₩¶zuò)為(wèi)容器(qì)的(de)元素上(shàn φ♦<g)。這(zhè)也(yě)給我們帶來(lái)©¥了(le)額外(wài)的(de)工(gōng)作(zuò)。§≤↑在創建好(hǎo)布局必須的(de)p之後,我們要(yào)按照(zhà€βo)如(rú)下(xià)代碼為(wèi♦→)body應用(yòng)text-al¶↑ign屬性:
body{text-align:center;}
之後會(huì)出現(xiàn)什(shén)麽問(wèn)題嗎(ma)σ ?body的(de)所有(yǒu)子(zǐ)孫元素都(dōu)會"≠β(huì)被居中顯示。
因此,我們就(jiù)需要(yào)用(yòng)再寫一(yī)條規則,©♠σ↕讓其中的(de)文(wén)本回到(dào)默認的(d≠↔e)居左對(duì)齊:
p{text-align:left;¶♥←}
可(kě)以想象這(zhè)條附加的(de)規則将帶來(lái)一←¥∑₹(yī)些(xiē)不(bù)便。另外(wài),真正"≥完全遵循标準的(de)浏覽器(qì)并不(bù)會(huì)改變£≠<容器(qì)的(de)位置,而隻會(hu ★ì)讓其中的(de)文(wén)字居中顯示。
3.組合使用(yòng)自(zì)動外(wε≠ ài)邊距和(hé)文(wén)本對(duì)齊
因為(wèi)文(wén)本對(duì)齊居中方式有§>(yǒu)著(zhe)良好(hǎo)的(de)向下(×↔★±xià)兼容性,且自(zì)動外(wài)£α∑邊距方式也(yě)被大(dà)多(duō)數(shù)當代浏覽器(qΩ∞✘ì)支持,所以很(hěn)多(duō)設計(jì)"↑™<師(shī)将二者組合起來(lái)使用(←©®yòng),以期讓居中效果得(de)到(dà★☆&o)最大(dà)限度的(de)跨浏覽器(qì)支™α∑←持:
body{text-align:center;} ®÷✔#container{margin-left:auto;margin-rig¥∑≠"ht:auto;border:1pxsolidred;widΩ≤"th:168px;text-align:left}
可(kě)是(shì)這(zhè)始終是(sh≥↔λì)個(gè)hack,無論如(rú)何也(yě)算(suàn)不(bù↓✔ε)上(shàng)完美(měi)。我們還(hái)是(shì)÷↔δ需要(yào)為(wèi)居中容器(qì)中的σ§₽ (de)文(wén)本編寫附加的(de)規則,§₽ ₽但(dàn)至少(shǎo)在各個(gè)φ→↓♠浏覽器(qì)中看(kàn)起來(lái)都(dōΩ ₩πu)不(bù)錯(cuò)。
4.負外(wài)邊距解決方案
負外(wài)邊距解決方案遠(yuǎn)不∏♥(bù)是(shì)僅僅為(wèi)元素添σ¶§加負外(wài)邊距這(zhè)麽簡單。這(zhè)種方法需要(yào)同時(☆ §λshí)使用(yòng)絕對(duì)定位和(hé)負外(wài)邊距₹®₩兩種技(jì)巧。
下(xià)面是(shì)該方案的(de)具體(tǐ)實現(xi§♠àn)方法。首先,創建一(yī)個(gè)包含居中元素的(↕✘de)容器(qì),然後将其絕對(duì)定位于相(xiàng)對(duì)頁<≈•面左邊邊緣50%的(de)位置。這(zhè)樣,該容器(qì)的(de)左外 ¶(wài)邊距将從(cóng)頁面50%寬度的(de)∏☆δ位置開(kāi)始算(suàn)起。
然後,将容器(qì)的(de)左外(wài)邊距值設置為(wèi)負的δ™ ©(de)容器(qì)寬度的(de)一(yī)半。這(zhè)樣即可α (kě)将該容器(qì)固定在頁面水(shuǐ)平方向的(de)中點<±>。
#container{background:#ff curl(mid.jpg)repeat-ycenter;p₽< osition:absolute;left:50%;width:7₹<≤60px;margin-left:-380px;}
看(kàn),沒有(yǒu)任何hack!雖然這(zhè)¶ 并不(bù)是(shì)首選的(de)解決方案,"≠λ但(dàn)也(yě)是(shì)個(gè)不(bù)錯(÷cuò)的(de)方法,且适用(yòng)性極廣&mdasε®h;甚至在NetscapeNavigator4.x中都(dōu)沒有(×↓yǒu)任何問(wèn)題,很(hěn)令人(rén)吃(ch$βī)驚,不(bù)是(shì)嗎(ma)?所以若想得(de)到(dào)最廣≥♦泛的(de)浏覽器(qì)支持,那(nà)麽這'≠Ω(zhè)種方法将會(huì)是(shì)最好(Ω£↔≠hǎo)的(de)選擇。
- 歡迎大(dà)家(jiā)閱讀(dú)浏™∞γ覽,部分(fēn)內(nèi)容來(lái)源于網絡,如(rú €£)有(yǒu)侵權,請(qǐng)聯系我們删除!
- 上(shàng)一(yī)條:ul、li用(yòng)法中的(de)好(hǎo)搭擋
- 下(xià)一(yī)條:css的(de)本質讓網頁更好(hǎo)“掌控”
服務項目
熱(rè)門(mén)信息
- 邯鄲網絡公司:模闆建站(zhàn)的(de)好(h÷™Ω₹ǎo)處有(yǒu)哪些(xiē)?
- 3642024-04-25

- 4.9日(rì)訊,企業(yè)網站(zhàn)建設如(rú)何發揮網絡營β 銷功能(néng)?
- 4092024-04-09

- 邯鄲網絡公司:網站(zhàn)建設開(kāi)發有(yǒu)哪些(xiē)細節σ♠需要(yào)注意?
- 5402024-03-07

- 邯鄲網絡公司:外(wài)貿網站(zhàn"♣δ)制(zhì)作(zuò)的(de)8個(gè)步驟
- 3772024-03-05

- 簡單3步,輕松做(zuò)企業(yè)官網
- 6822024-02-18
