好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > 欲練CSS ,必先解決IE的一些細(xì)節(jié)分析

欲練CSS ,必先解決IE的一些細(xì)節(jié)分析

熱門標(biāo)簽:山東電銷機(jī)器人軟件 上海400電話辦理到易號(hào)網(wǎng) 洛陽(yáng)防封卡外呼系統(tǒng)廠家 南通電銷外呼系統(tǒng)軟件 常州電話外呼系統(tǒng)招商 智能語(yǔ)音電銷機(jī)器人客戶端 廣州防封電銷機(jī)器人廠家 成都企業(yè)外呼系統(tǒng) 申請(qǐng)400電話移動(dòng)
更加壞的事情是,即使你僅僅針對(duì)IE設(shè)計(jì),不考慮其它瀏覽器,由于IE模型絕對(duì)可以說(shuō)是一只讓人難以捉摸其脾氣的怪物,所以你單純?yōu)镮E設(shè)計(jì)也會(huì)遇到眾多難題,發(fā)現(xiàn)很多的效果總是繞來(lái)繞去都難以實(shí)現(xiàn)。

我們都知道,XHTML+CSS的目標(biāo)就是實(shí)現(xiàn)內(nèi)容與表現(xiàn)分離,理論上對(duì)于任何特定一份內(nèi)容,我們都可以通過(guò)CSS實(shí)現(xiàn)任何我們想要的表現(xiàn)形式,或者細(xì)致地說(shuō)是布局形式。雖然現(xiàn)實(shí)與這個(gè)目標(biāo)有一定差距,但是CSS已經(jīng)能夠滿足大多數(shù)常見的布局需求,這有CSS Zen Garden為證。然而如果你用的是IE,因?yàn)樗y以捉摸,所以如果你想用一種簡(jiǎn)單優(yōu)雅的CSS去讓IE能夠?qū)崿F(xiàn)“任何你想要的布局形式”,那是不可能的,只有復(fù)雜繁縟的CSS才能夠在IE上滿足你的需求。我曾經(jīng)提到過(guò)一種理論,“一個(gè)人對(duì)一個(gè)研究方向是否感興趣很可能是完全靠偶然事件決定的,這就好像人第一次打羽毛球,如果你贏了幾盤你就會(huì)感興趣,如果你一直都贏不了你就會(huì)沒興趣”。IE在需要復(fù)雜繁縟的CSS這一點(diǎn)上,就足以令大多數(shù)的入門者卻步。你總感覺到不得要領(lǐng),你自然沒興趣學(xué)下去。

舉一個(gè)例子說(shuō)明這個(gè)問題,例如你不知道IE有hasLayout這回事,一個(gè)元素是否hasLayout對(duì)它的布局方式有重大影響,于是你肯定用最簡(jiǎn)單的思維去思考CSS,認(rèn)為不同的CSS規(guī)則之間應(yīng)該是松耦合的?!癈SS應(yīng)該被設(shè)計(jì)為簡(jiǎn)單優(yōu)雅的”,你肯定會(huì)這樣想,沒錯(cuò),它確實(shí)被設(shè)計(jì)為這樣,不過(guò)IE不是這樣去實(shí)現(xiàn)CSS罷了。我們用下面的代碼去證明IE在quirks mode與standards mode之間的區(qū)別:
div style="background-color: red; height: 30px">
  div>Hello/div>
  img style="float: left; width: 200px; height: 160px" src="blank.gif" />
  div>Hello/div>
/div>

首先,我們用quirks mode看看結(jié)果如何,并且一個(gè)初學(xué)者看到這樣的結(jié)果會(huì)去如何理解CSS規(guī)則。在quirks mode中,我們可以看到背景為紅色的div />包含了上面1行的文本,以及下面向左浮動(dòng)的img />(自然也就包括在浮動(dòng)塊右邊的文本),在這里,我們可以建立兩種認(rèn)識(shí):

  1. 容器是完整包含內(nèi)容的,當(dāng)內(nèi)容的總高度比容器大的時(shí)候,容器就會(huì)自然伸展以確保容納內(nèi)容。
  2. 浮動(dòng)塊也屬于上述條件所要求通過(guò)伸展以確保容納內(nèi)容。

以上規(guī)則是完全錯(cuò)誤的,一個(gè)懂得標(biāo)準(zhǔn)CSS以及理解quirks mode的設(shè)計(jì)師將會(huì)如此解釋他的理解:

  1. 因?yàn)镮E在quirks mode中會(huì)將height理解為min-height,所以它認(rèn)為div />的高度不小于height指定的30px即可。而根據(jù)CSS標(biāo)準(zhǔn),當(dāng)height設(shè)置為30px時(shí),高度就一定是30px,超出部分如何處理則由專門的CSS規(guī)則決定。
  2. 因?yàn)閐iv />被設(shè)置了height屬性,在IE中這就讓它hasLayout了,這就導(dǎo)致它一定要包含所有的內(nèi)容,包括浮動(dòng)塊。而根據(jù)CSS標(biāo)準(zhǔn),浮動(dòng)塊是無(wú)需被完全包含的,它就浮動(dòng)在那里,除非遇到設(shè)置了clear屬性的元素,否則后繼內(nèi)容只會(huì)側(cè)移避讓。

好了,相信這個(gè)對(duì)比足以說(shuō)明問題的嚴(yán)重性了,通過(guò)IE的效果去理解CSS,最終只會(huì)讓你的理解與真實(shí)的CSS相差甚遠(yuǎn)。詳細(xì)的standards mode與quirks mode帶來(lái)的標(biāo)準(zhǔn)執(zhí)行差別,可以參考這篇文章:CSS Quirks mode and strict mode。

然后肯定有人要問我,如果通過(guò)doctype確保使用的是standards mode,那是不是就沒問題了呢?standards mode確實(shí)會(huì)讓IE對(duì)CSS的解釋合理很多,但事情并沒有那么簡(jiǎn)單,這你可以通過(guò)實(shí)踐去慢慢體會(huì)。你可以嘗試在standards mode中設(shè)計(jì)CSS,并且盡力保持它們?cè)贗E/FF/Opera/Safari這4大主流瀏覽器中顯示一致,隨著設(shè)計(jì)的進(jìn)行,你會(huì)發(fā)現(xiàn)這不是那么容易做到的?;蛟S你不樂意花時(shí)間去fix其中的一些小問題,寧愿任由其中一些瀏覽器的用戶看到比較丑陋的布局,但至少你已經(jīng)了解到一個(gè)和上面例子類似的道理:不同瀏覽器即使同樣在standards mode,其對(duì)CSS的理解仍然有所差異,而差異當(dāng)中最多只可能有一個(gè)是正確的,甚至可能全部都是錯(cuò)誤的。這篇CSS contents and browser compatibility就列舉了眾多瀏覽器對(duì)CSS支持的差異,一份CSS總會(huì)因?yàn)槠渲杏幸恍┮?guī)則在某些瀏覽器上是不支持的或者是buggy的,而導(dǎo)致你難以保持它們?cè)诓煌瑸g覽器上顯示一致。

接下來(lái)可能還有人會(huì)問我,既然IE的市場(chǎng)份額最大(特別是在入門級(jí)的用戶當(dāng)中),又或者說(shuō)我的客戶指定使用IE作為客戶端,僅僅針對(duì)IE設(shè)計(jì)CSS不好嗎?為什么要針對(duì)FF之類的標(biāo)準(zhǔn)瀏覽器設(shè)計(jì)CSS然后再為IE進(jìn)行fix?因?yàn)镮E難以捉摸的脾氣,讓你無(wú)法將它的行為理解為一種簡(jiǎn)單優(yōu)雅的規(guī)則,然后讓你陷入CSS規(guī)則高度耦合的困境中。請(qǐng)看下面的例子:
div style="background-color: red; border: 2px black solid">
  img style="float: left; width: 200px; height: 160px" src="blank.gif" />
  div>Hello/div>
/div>
div>Hello/div>

現(xiàn)在,你在IE中看到的效果應(yīng)該是左邊出現(xiàn)img />,然后兩個(gè)div />內(nèi)的Hello都向右偏移以避讓img />這個(gè)浮動(dòng)塊了,其中上面的div />僅僅占用移行的高度,因?yàn)樗鼪]有聲明高度,所以就是自然高度,也就是一樣,這些都很好理解,所有規(guī)則都是解耦的。然后向例子中增加對(duì)第一個(gè)div />的width屬性復(fù)制,看看結(jié)果會(huì)如何:
div style="background-color: red; border: 2px black solid; width: 600px">
  img style="float: left; width: 200px; height: 160px" src="blank.gif" />
  div>Hello/div>
/div>
div>Hello/div>

這時(shí)候第一個(gè)div />完全容納了img />,把第二個(gè)div />擠到下面了。這該怎么解釋呢?我們可沒有設(shè)置它的height屬性哦,難道又犯之前例子所說(shuō)的因?yàn)閔asLayout而必須容納所有內(nèi)容?正解,這就是IE難以馴服的地方,一個(gè)應(yīng)該是完全獨(dú)立的width屬性,設(shè)置之后引起了高度以外的其它影響,這讓人無(wú)法嘗試以一種簡(jiǎn)單優(yōu)雅的方式去理解IE的行為。這就證明了,如果你要學(xué)習(xí)如何為IE設(shè)計(jì)CSS,就先要學(xué)習(xí)標(biāo)準(zhǔn)CSS,再加上對(duì)IE怪異行為的理解,比僅僅學(xué)習(xí)如何為一個(gè)標(biāo)準(zhǔn)瀏覽器設(shè)計(jì)要難多了。這時(shí)候你是不是想說(shuō),“如果客戶愿意放棄IE,甚至全世界都愿意放棄IE,那就實(shí)在太美好了”,沒錯(cuò),這才是正確的想法,一心想著僅針對(duì)IE設(shè)計(jì)以求方便只會(huì)讓你走火入魔。

最后,如果你已經(jīng)有了一定的CSS基礎(chǔ),對(duì)CSS規(guī)則都理解無(wú)偏差,卻缺乏組合CSS規(guī)則的想象力,無(wú)法做到所謂的“實(shí)現(xiàn)任何你想要的布局效果”,這也就是說(shuō),你的內(nèi)功已練成,僅僅差一些表面的套路,這時(shí)候我推薦你去看《CSS Mastery/精通CSS》??赐赀@本書,相信你只會(huì)覺得自己缺乏布局的創(chuàng)造能力,而不會(huì)有布局卻不知道如何實(shí)現(xiàn)。另外,如果你關(guān)注CSS方面的內(nèi)容,可以考慮訂閱我的blog:

  • Cat in Chinese (feed: http://feeds.feedburner.com/CatChen/Chinese)
  • Cat in dotNET (feed: http://feeds.feedburner.com/CatChen/dotNET)

過(guò)年之后,我可能會(huì)寫一些與ASP.NET+CSS有關(guān)的文章,因?yàn)楝F(xiàn)在ASP.NET+CSS的開發(fā)并不方便,即使用了ASP.NET 2.0 CSS Friendly Control Adapters也如此,因此需要根據(jù)自己的實(shí)際情況定制配對(duì)的Control Adapter才能解決問題,這就是我接下來(lái)要研究的事情。

標(biāo)簽:賀州 貴州 混顯 萊蕪 邵陽(yáng) 廣安 滄州 鶴壁

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《欲練CSS ,必先解決IE的一些細(xì)節(jié)分析》,本文關(guān)鍵詞  欲練,CSS,必先,解決,的,一些,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《欲練CSS ,必先解決IE的一些細(xì)節(jié)分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于欲練CSS ,必先解決IE的一些細(xì)節(jié)分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 无套美女极品粉嫩国产高潮| 亚洲a成人7777777久久| 91主播一区二区三区| 啊~你别了h| 2分30秒不见踹息声音频视频| 黑人精品XXX一区一二区| 无码人妻丰满熟妇区五十路下载| 高h浪荡| narutohaiteixxxx玖辛奈| 国产脚交footjob脚交HD| 打??美女隐私秘?视频| 人妻少妇边接电话边娇喘| 91丝袜美腿高跟国产极品老师| 大j8军警男男刺激h男同| 天天曰天天干| 精品刮子伦一区二区三区沙发| 国际卡1卡2卡三卡免费网站| tom.1688.com亚洲入口| 亚洲乱码| bbbbbxxxxx在线观看| 精品久久久久久中文| 中文字幕一级毛片在线| 成人无码www免费视频网站软件 | 亚洲人精品午夜不卡网色| 草逼免费| 小妮女女踩踏第一站免费| 精品久久久久久中文人妻字幕电车| 锵锵锵锵锵锵锵好深好痛| 啊灬啊别停灬用力啊老师视频| 国产一区二区三区四区??| 公与熄bd日本电影在线播放| 欧美成熟丰满老妇xxxx| 免费毛片在线播放| 国产性片在线观看| 天干天干天夜夜爽啪啪| 少妇人妻一级A毛片无码监狱| 亚洲国产精品毛片∧v卡在线| 欧美18gayvideos男| JiZZJIZZ国产在线观看| 天堂WWW在线а√天堂资源| 国产在线视频网|