中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

CSS在IE和Nascape的顯示差別

2024-01-31    分類: 網(wǎng)站建設(shè)

Web建造者要對付的最棘手情況之一是:相同的CSS代碼被不同的瀏覽器解釋后會生成不同的效果。在以前,各種不同的瀏覽器生成極其不同的頁面是隨處可見的,而現(xiàn)在我們可以用所謂的符合標準的瀏覽器獲得更好的效果。然而,顯示效果的差別還是無法避免。

當前處于領(lǐng)導(dǎo)地位的一些瀏覽器在處理浮動效果上就存在著這樣的差別。如果有人想創(chuàng)建一個能夠隨著瀏覽器窗口的大小變化而動態(tài)更改大小多欄的布局,那么這將是一個特別麻煩的問題。

簡單的沒有浮動的頁面

假設(shè)你有兩個div——div#one和div#two,它們都有固定的寬度。如果沒有浮動或者絕對的定位,這些div就會以一個摞在另一個之上的形式放在瀏覽器窗口的左側(cè)(如例A所示),因為標準的頁面安排順序是從左到右,從上到下,塊級元素(block-level element)都會在前一個元素下面緊接著開始一個新的行。

下面是所有例子都需要的一段HTML:

<body> <div id="one"> Port side text... </div> <div id="two"> Second column text... </div> </body>

下面的CSS代碼用于基本的、不帶浮動的版本:

div#one { width: 150px; margin: 0px; background-color: red; } div#two { width: 300px; padding: 0px 10px 5px 10px; margin: 0px; background-color: silver; }

基本的浮動 當你創(chuàng)建一個包含有float: left或者float: right屬性的CSS樣式,并把它應(yīng)用到諸如div標簽這樣的塊級元素上的時候,div就會從文檔的普通文本安排順序里被刪除,并被強制放到包含元素(containing element)的左側(cè)或者右側(cè)。如果包含元素是一個主體標簽,那么div就會浮動到瀏覽器窗口的一側(cè)。否則,浮動的div就會移動到包含div的邊緣,而以前是不會這樣的。

如果你有一個以上的浮動元素,那么第二個和隨后的浮動元素會緊接著第一個排成一條,其排列方式非常像文本里的一行字母。一系列浮動元素會對齊成一行,直到撐滿瀏覽器窗口的整個寬度,然后換到下一行,就像段落里的文字那樣排列。

固定寬度的浮動 只要div#one和div#two具有固定寬度,而且其總寬度小于瀏覽器窗口的寬度,它們就會像例B所示的那樣緊挨著排在一起。幾個大的瀏覽器在處理固定寬度浮動的方式上保持著相當?shù)囊恢滦?。下面的CSS代碼所生成的頁面在IE6、Netscape 7、Mozilla 1和Opera 7里顯示出來是一模一樣的。

div#one { float: left; width: 150px; margin: 0px; background-color: red; } div#two { float: left; width: 300px; padding: 0px 10px 5px 10px; margin: 0px; background-color: silver; }

可變寬度的浮動帶來了可變的結(jié)果 當你想把div變成寬度可變的時候,生成浮動效果不一致的問題就浮現(xiàn)出來了。例如,假設(shè)你想要在頁面的左側(cè)放一個固定寬度欄,用于導(dǎo)航按鈕的列表,而想在右側(cè)放另外一個欄,讓它根據(jù)瀏覽器窗口(的大小)自由擴展和收縮。

你可能會認為自己用兩個左側(cè)浮動的div就能實現(xiàn)這個效果;一個是固定寬度的,而另一個把寬度設(shè)定為自動,讓div自動調(diào)整大小,這樣它就能夠填補第一個div和瀏覽器窗口右側(cè)之間的空白。例C就是下面代碼顯示的結(jié)果:

div#one { float: left; width: 150px; margin: 0px; background-color: red; } div#two { float: left; width: auto; padding: 0px 10px 5px 10px; margin: 0px; background-color: silver; }

如果在IE里顯示這個例子,你會獲得預(yù)計的效果,即左邊是固定寬度的欄,緊挨著它右側(cè)的是一個可變寬度的欄;但是,相同的代碼在其他當前流行的瀏覽器上卻會生成不同的結(jié)果。第二個div會掉到第一個的下面,而不是接著這一行放在右邊。結(jié)果就和不帶浮動的頁面非常類似。

解決方案 要獲得這種兩欄布局,其中一欄能夠自動調(diào)整大小的理想效果的一種解決方案是對第一欄使用浮動div,但是要從必須調(diào)整大小的那一欄里把浮動刪掉。由于浮動欄和普通的文檔安排順序是分離的,所以常規(guī)的div會被放在上方,但是在浮動div的下方。在左邊添加一個padding,并讓其等于浮動div的寬度,而常規(guī)div的內(nèi)容看起來就會像是放在左邊div右側(cè)的一個欄里。例D說明了這個技巧。下面的代碼能夠在當前所有的瀏覽器里生成相同的效果。

div#one { float: left; width: 150px; margin: 0px; background-color: red; } div#two { width: auto; padding: 0px 10px 5px 160px; margin: 0px; background-color: silver; }

盡管當前Netscape/Mozilla瀏覽器一般都被認為要比IE更加符合標準,但是我個人認為IE生成浮動元素的效果要比前兩個瀏覽器更加一致。但是如果不考慮哪一個生成的效果是“正確的”,那么其差別就會給Web建造者帶來最頭疼的問題。要避免你的頁面設(shè)計出現(xiàn)問題,知道瀏覽器生成的效果會有所不同是第一步,也是最重要的一步。

本文來源于成都網(wǎng)站建設(shè)公司與成都網(wǎng)站設(shè)計制作公司-創(chuàng)新互聯(lián)成都公司!

新聞標題:CSS在IE和Nascape的顯示差別
標題網(wǎng)址:http://www.rwnh.cn/news21/316371.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄網(wǎng)站排名、網(wǎng)站設(shè)計、品牌網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
武定县| 任丘市| 淄博市| 鹿泉市| 都安| 阿勒泰市| 隆子县| 伊宁市| 江安县| 清远市| 平陆县| 太湖县| 且末县| 乐清市| 临泽县| 全州县| 海盐县| 万安县| 普格县| 民乐县| 邳州市| 河北区| 万山特区| 大连市| 襄樊市| 张北县| 珲春市| 汨罗市| 佛教| 锡林郭勒盟| 石阡县| 吴堡县| 金塔县| 察哈| 樟树市| 准格尔旗| 永德县| 射洪县| 山丹县| 屏东县| 宜宾市|