国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 html教學(xué) div+css布局下兼容IE6IE7FF常見…_html/css_WEB-ITnose

div+css布局下兼容IE6IE7FF常見…_html/css_WEB-ITnose

Jun 24, 2016 pm 12:27 PM

所有瀏覽器 通用 (市面上主要用到的IE6 IE7 FF)
height: 100px;

IE6 專用
_height: 100px;

IE6 專用
*height: 100px;

IE7 專用
*+height: 100px;

IE7、FF 共用
height: 100px !important;
一、CSS 兼容
以下兩種方法幾乎能解決現(xiàn)今所有兼容.

1, !important (不是很推薦,用下面的一種感覺最安全)

隨著IE7對!important的支持, !important 方法現(xiàn)在只針對IE6的兼容.(注意寫法.記得該聲明位置需要提前.)

代碼:


2, IE6/IE77對FireFox

*+html 與 *html 是IE特有的標(biāo)簽, firefox 暫不支持.而*+html 又為 IE7特有標(biāo)簽.

代碼:


注意:
*+html 對IE7的兼容 必須保證HTML頂部有如下聲明:

代碼:
"http://www.w3.org/TR/html4/loose.dtd">

二、萬能 float 閉合(非常重要!) 可以用這個解決多個div對齊時的間距不對,

關(guān)于 clear float 的原理可參見 [How To Clear Floats Without Structural Markup]
將以下代碼加入Global CSS 中,給需要閉合的div加上 class=”clearfix” 即可,屢試不爽.

代碼:


三、其他兼容技巧(相當(dāng)有用)

1, FF下給 div 設(shè)置 padding 后會導(dǎo)致 width 和 height 增加, 但I(xiàn)E不會.(可用!important解決)
2, 居中問題.
1).垂直居中.將 line-height 設(shè)置為 當(dāng)前 div 相同的高度, 再通過 vetical-align: middle.( 注意內(nèi)容不要換行.)
2).水平居中. margin: 0 auto;(當(dāng)然不是萬能)
3, 若需給 a 標(biāo)簽內(nèi)內(nèi)容加上 樣式, 需要設(shè)置 display: block;(常見于導(dǎo)航標(biāo)簽)
4, FF 和 IE 對 BOX 理解的差異導(dǎo)致相差 2px 的還有設(shè)為 float的div在ie下 margin加倍等問題.
5, ul 標(biāo)簽在 FF 下面默認(rèn)有 list-style 和 padding . 最好事先聲明, 以避免不必要的麻煩. (常見于導(dǎo)航標(biāo)簽和內(nèi)容列表)
6, 作為外部 wrapper 的 div 不要定死高度, 最好還加上 overflow: hidden.以達(dá)到高度自適應(yīng).
7, 關(guān)于手形光標(biāo). cursor: pointer. 而hand 只適用于 IE.貼上代碼:
8、IE6 的雙倍邊距 BUG
? ?
? ? 浮動后本來外邊距10px, 但I(xiàn)E 解釋為20px, 解決辦法是加上 display:inline
9、為什么FF 下文本無法撐開容器的高度?
  標(biāo)準(zhǔn)瀏覽器中固定高度值的容器是不會象IE6 里那樣被撐開的, 那我又想固定高度,又想能被撐開需要怎樣設(shè)置呢?辦法就是去掉height 設(shè)? ? ? ? 置min-height:200px; 這里為了照顧不認(rèn)識min-height 的IE6 可以這樣定義:
? ? div { height:auto!important; height:200px; min-height:200px; }


兼容代碼:兼容最推薦的模式。

.submitbutton {
float:left;
width: 40px;
height: 57px;
margin-top: 24px;
margin-right: 12px;
}

*html .submitbutton {
margin-top: 21px;
}

*+html .submitbutton {
margin-top: 21px;
}
什么是瀏覽器兼容:當(dāng)我們使用不同的瀏覽器(Firefox IE7 IE6)訪問同一個網(wǎng)站,或者頁面的時候,會出現(xiàn)一些不兼容的問題,有的顯示出來正常,有的顯示出來不正常,我們在編寫CSS的時候會很惱火,剛修復(fù)了這個瀏覽器的問題,結(jié)果另外一個瀏覽器卻出了新問題。而兼容就是一種辦法,能讓你在一個CSS里面獨立的寫支持不同瀏覽器的樣式。這下就和諧了。呵呵!


程序代碼

第一個兼容,IE FF 所有瀏覽器 公用(其實也不算是兼容)
height:100px;
第二個兼容 IE6專用
_height:100px;
第三個兼容 IE6 IE7公用
*height:100px;
height:100px;
*height:120px;
_height:150px;

在FF下,第2、3個屬性FF不認(rèn)識,所以它讀的是 height:100px;

在IE7下,第三個屬性IE7不認(rèn)識,所以它讀第1、2個屬性,又因為第二個屬性覆蓋了第一個屬性,所以IE7最終讀出的是第2個屬性 *height:120px;

在IE6下,三個屬性IE6都認(rèn)識,所以三個屬性都可以讀取,又因為第三個屬性覆蓋掉前2個屬性,所以IE6最終讀取的是第三個屬性。

1 針對firefox ie6 ie7的css樣式

現(xiàn)在大部分都是用!important來兼容,對于ie6和firefox測試可以正常顯示,但是ie7對!important可以正確解釋,會導(dǎo)致頁面沒按要求顯示!找到一個針對IE7不錯的兼容方式就是使用“*+html”,現(xiàn)在用IE7瀏覽一下,應(yīng)該沒有問題了現(xiàn)在寫一個CSS可以這樣:

#1 { color: #333; }
* html #1 { color: #666; }
*+html #1 { color: #999; }

那么在firefox下字體顏色顯示為#333,IE6下字體顏色顯示為#666,IE7下字體顏色顯示為#999。

2 css布局中的居中問題

主要的樣式定義如下:

body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }

說明:

首先在父級元素定義TEXT-ALIGN: center;這個的意思就是在父級元素內(nèi)的內(nèi)容居中;對于IE這樣設(shè)定就已經(jīng)可以了。

但在mozilla中不能居中。解決辦法就是在子元素定義時候設(shè)定時再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”

需要說明的是,如果你想用這個方法使整個頁面要居中,建議不要套在一個DIV里,你可以依次拆出多個div,只要在每個拆出的div里定義MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。

3 盒模型不同解釋.

#box{
width:600px;
//for ie6.0- w\idth:500px;
//for ff+ie6.0
}
#box{
width:600px!important
//for ff
width:600px;
//for ff+ie6.0
width :500px;
//for ie6.0-
}

4 浮動ie產(chǎn)生的雙倍距離

#box{ float:left; width:100px; margin:0 0 0 100px; //這種情況之下IE會產(chǎn)生200px的距離 display:inline; //使浮動忽略}

這里細(xì)說一下block,inline兩個元素,Block元素的特點是:總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);Inline元素的特點是:和其他元素在同一行上,…不可控制(內(nèi)嵌元素);

#box{ display:block; //可以為內(nèi)嵌元素模擬為塊元素 display:inline; //實現(xiàn)同一行排列的的效果 diplay:table;

5 IE與寬度和高度的問題

IE 不認(rèn)得min-這個定義,但實際上它把正常的width和height當(dāng)作有min的情況來使。這樣問題就大了,如果只用寬度和高度,正常的瀏覽器里這兩個值就不會變,如果只用min-width和min-height的話,IE下面根本等于沒有設(shè)置寬度和高度。比如要設(shè)置背景圖片,這個寬度是比較重要的。要解決這個問題,可以這樣:

#box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}

6 頁面的最小寬度

min- width是個非常方便的CSS命令,它可以指定元素最小也不能小于某個寬度,這樣就能保證排版一直正確。但I(xiàn)E不認(rèn)得這個,而它實際上把 width當(dāng)做最小寬度來使。為了讓這一命令在IE上也能用,可以把一個

放到 標(biāo)簽下,然后為div指定一個類:
然后CSS這樣設(shè)計:

#container{
min-width: 600px;
width:e-xpression(document.body.clientWidth }

第一個min-width是正常的;但第2行的width使用了Javascript,這只有IE才認(rèn)得,這也會讓你的HTML文檔不太正規(guī)。它實際上通過Javascript的判斷來實現(xiàn)最小寬度。

7 清除浮動

.兼容box{
display:table;
//將對象作為塊元素級的表格顯示
}

或者

.兼容box{
clear:both;
}

或者加入:after(偽對象),設(shè)置在對象后發(fā)生的內(nèi)容,通常和content配合使用,IE不支持此偽對象,非Ie 瀏覽器支持,所以并不影響到IE/WIN瀏覽器。這種的最麻煩的

……#box:after{
content: “.”;
display: block;
height: 0;
clear: both;
visibility: hidden;
}

8 DIV浮動IE文本產(chǎn)生3象素的bug

左邊對象浮動,右邊采用外補丁的左邊距來定位,右邊對象內(nèi)的文本會離左邊有3px的間距.

#box{
float:left;
width:800px;}
#left{
float:left;
width:50%;}
#right{
width:50%;
}
*html #left{
margin-right:-3px;
//這句是關(guān)鍵
}
HTML代碼





9 屬性選擇器(這個不能算是兼容,是隱藏css的一個bug)

p[id]{}div[id]{}
p[id]{}div[id]{}

這個對于IE6.0和IE6.0以下的版本都隱藏,FF和OPera作用

屬性選擇器和子選擇器還是有區(qū)別的,子選擇器的范圍從形式來說縮小了,屬性選擇器的范圍比較大,如p[id]中,所有p標(biāo)簽中有id的都是同樣式的.

10 IE捉迷藏的問題

當(dāng)div應(yīng)用復(fù)雜的時候每個欄中又有一些鏈接,DIV等這個時候容易發(fā)生捉迷藏的問題。
有些內(nèi)容顯示不出來,當(dāng)鼠標(biāo)選擇這個區(qū)域是發(fā)現(xiàn)內(nèi)容確實在頁面。
解決辦法:對#layout使用line-height屬性 或者給#layout使用固定高和寬。頁面結(jié)構(gòu)盡量簡單。

11 高度不適應(yīng)

高度不適應(yīng)是當(dāng)內(nèi)層對象的高度發(fā)生變化時外層高度不能自動進(jìn)行調(diào)節(jié),特別是當(dāng)內(nèi)層對象使用
margin 或paddign 時。例:


p對象中的內(nèi)容




CSS:

#box {background-color:#eee; }
#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; }

解決方法:在P對象上下各加2個空的div對象CSS代碼:.1{height:0px;overflow:hidden;}或者為DIV加上border屬性。

屏蔽IE瀏覽器(也就是IE下不顯示)
*:lang(zh) select {font:12px !important;}
select:empty {font:12px !important;}
這里select是選擇符,根據(jù)情況更換。第二句是MAC上safari瀏覽器獨有的。

僅IE7識別
*+html {…}
當(dāng)面臨需要只針對IE7做樣式的時候就可以采用這個兼容。

IE6及IE6以下識別
* html {…}
這個地方要特別注意很多地主都寫了是IE6的兼容其實IE5.x同樣可以識別這個兼容。其它瀏覽器不識別。
html >body select {……}
這句與上一句的作用相同。

僅IE6不識別
select { display :none;}
這里主要是通過CSS注釋分開一個屬性與值,流釋在冒號前。

僅IE6與IE5不識別
select { display :none;}
這里與上面一句不同的是在選擇符與花括號之間多了一個CSS注釋。

僅IE5不識別
select { display:none;}
這一句是在上一句中去掉了屬性區(qū)的注釋。只有IE5不識別

盒模型解決方法
selct {width:IE5.x寬度; voice-family :""}""; voice-family:inherit; width:正確寬度;}
盒模型的清除方法不是通過!important來處理的。這點要明確。

清除浮動
select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}
在Firefox中,當(dāng)子級都為浮動時,那么父級的高度就無法完全的包住整個子級,那么這時用這個清除浮動的兼容來對父級做一次定義,那么就可以解決這個問題 。

截字省略號
select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrapoverflow:hidden; }
這個是在越出長度后會自行的截掉多出部分的文字,并以省略號結(jié)尾,很好的一個技術(shù)。只是目前Firefox并不支持。

只有Opera識別
@media all and (min-width: 0px){ select {……} }
針對Opera瀏覽器做單獨的設(shè)定。

以上都是寫CSS中的一些兼容,建議遵循正確的標(biāo)簽嵌套(div ul li 嵌套結(jié)構(gòu)關(guān)系),這樣可以減少你使用兼容的頻率,不要進(jìn)入理解誤區(qū),并不是一個頁面就需要很多的兼容來保持多瀏覽器兼容),很多情況下也許一個兼容都不用也可以讓瀏覽器工作得非常好,這些都是用來解決局部的兼容性問題,如果希望把兼容性的內(nèi)容也分離出來,不妨試一下下面的幾種過濾器。這些過濾器有的是寫在 CSS中通過過濾器導(dǎo)入特別的樣式,也有的是寫在HTML中的通過條件來鏈接或是導(dǎo)入需要的補丁樣式。

IE5.x的過濾器,只有IE5.x可見
@media tty {
i{content:"";}} @import ’ie5win.css’;

IE5/MAC的過濾器,一般用不著


IE的if條件兼容 自己可以靈活使用參看這篇IE條件注釋
Only IE
所有的IE可識別

只有IE5.0可以識別
Only IE 5.0+
IE5.0包換IE5.5都可以識別

僅IE6可識別
Only IE 7/-
IE6以及IE6以下的IE5.x都可識別
Only IE 7/-
僅IE7可識別

Css 當(dāng)中有許多的東西不不按照某些規(guī)律來的話,會讓你很心煩,雖然你可以通過很多的兼容,很多的!important 來控制它,但是你會發(fā)現(xiàn)長此以往你會很不甘心,看看許多優(yōu)秀的網(wǎng)站,他們的CSS讓IE6,Ie7,Firefox,甚至Safari,Opera運行起來完美無缺是不是很羨慕?而他們看似復(fù)雜的模版下面使用的兼容 少得可憐。其實你要知道IE 和 Firefox 并不不是那么的不和諧,我們找到一定的方法,是完全可以讓他們和諧共處的。不要你認(rèn)為發(fā)現(xiàn)了兼容的辦法,你就掌握了一切,我們并不是兼容的奴隸。

div ul li 的嵌套順序

具體嵌套寫法

遵循上面得嵌套方式,
然后在CSS 里面告訴 ul {Margin:0px adding:0px;list-style:none;},其中l(wèi)ist-style:none是不讓
  • 標(biāo)記的最前方顯示圓點或者數(shù)字等目錄類型的標(biāo)記,因為IE和Firefox顯示出來默認(rèn)效果有些不一樣。因此這樣不需要做任何手腳,你的IE6、和 IE7、Firefox顯示出來的東西(外距,間距,高度,寬度)就幾乎沒什么區(qū)別了,也許細(xì)心的你會在某一個時刻發(fā)現(xiàn)一、兩個象素的差別,但那已經(jīng)很完美了,不需要你通過調(diào)整大片的CSS來控制它們的顯示了,你愿意,你可以僅僅兼容一兩個地方,而且通常這種兼容可以適應(yīng)各種地方,不需要你重復(fù)在不同的地方調(diào)試不同的兼容方式?減輕你的煩。你可以ul.class1, ul.class2, ul.class3 {xxx:xxxx}的方式方便的整理出你要兼容的地方,而統(tǒng)一兼容。嘗試一下吧,再也不要亂嵌套了,雖然在Div+CSS的方式下你幾乎可以想怎么嵌套就怎么嵌套,但是按照上面的規(guī)律你將輕松很多,從而事半功倍!
  • 本網(wǎng)站聲明
    本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發(fā)環(huán)境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網(wǎng)頁開發(fā)工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    熱門話題

    Laravel 教程
    1600
    29
    PHP教程
    1502
    276
    使用HTML按鈕元素實現(xiàn)可點擊按鈕 使用HTML按鈕元素實現(xiàn)可點擊按鈕 Jul 07, 2025 am 02:31 AM

    要使用HTML的button元素實現(xiàn)可點擊按鈕,首先需掌握其基本用法與常見註意事項。 1.使用標(biāo)籤創(chuàng)建按鈕,並通過type屬性定義行為(如button、submit、reset),默認(rèn)為submit;2.通過JavaScript添加交互功能,可內(nèi)聯(lián)寫法或通過ID綁定事件監(jiān)聽器以提升維護(hù)性;3.利用CSS自定義樣式,包括背景色、邊框、圓角及hover/active狀態(tài)效果,增強用戶體驗;4.注意常見問題:確保未啟用disabled屬性、正確綁定JS事件、避免佈局遮擋,並藉助開發(fā)者工具排查異常。掌握這

    在HTML頭部元素中配置文檔元數(shù)據(jù) 在HTML頭部元素中配置文檔元數(shù)據(jù) Jul 09, 2025 am 02:30 AM

    HTMLhead中的元數(shù)據(jù)對SEO、社交分享和瀏覽器行為至關(guān)重要。 1.設(shè)置頁面標(biāo)題與描述,使用和並保持簡潔唯一;2.添加OpenGraph與Twitter卡片信息以優(yōu)化社交分享效果,注意圖片尺寸並使用調(diào)試工具測試;3.定義字符集與視口設(shè)置確保多語言支持與移動端適配;4.可選標(biāo)籤如作者版權(quán)、robots控制及canonical防止重複內(nèi)容也應(yīng)合理配置。

    2025年初學(xué)者的最佳HTML教程 2025年初學(xué)者的最佳HTML教程 Jul 08, 2025 am 12:25 AM

    TolearnHTMLin2025,chooseatutorialthatbalanceshands-onpracticewithmodernstandardsandintegratesCSSandJavaScriptbasics.1.Prioritizehands-onlearningwithstep-by-stepprojectslikebuildingapersonalprofileorbloglayout.2.EnsureitcoversmodernHTMLelementssuchas,

    HTML用於電子郵件模板教程 HTML用於電子郵件模板教程 Jul 10, 2025 pm 02:01 PM

    如何製作兼容性好的HTML郵件模板?首先要用表格(table)搭建結(jié)構(gòu),避免使用div flex或grid佈局;其次所有樣式必須內(nèi)聯(lián)化,不可依賴外部CSS;接著圖片要加alt說明並使用公網(wǎng)URL,按鈕應(yīng)使用帶背景色的table或td模擬;最後務(wù)必在多個客戶端測試並調(diào)整細(xì)節(jié)。

    如何使用HTML圖和Figcaption元素將字幕與圖像或媒體關(guān)聯(lián)? 如何使用HTML圖和Figcaption元素將字幕與圖像或媒體關(guān)聯(lián)? Jul 07, 2025 am 02:30 AM

    使用HTML的和可以直觀且語義清晰地為圖片或媒體添加說明文字。 1.用於包裹獨立的媒體內(nèi)容,如圖片、視頻或代碼塊;2.則作為其說明文字,置於內(nèi)部,可位於媒體上方或下方;3.它們不僅提升頁面結(jié)構(gòu)清晰度,還增強可訪問性和SEO效果;4.使用時應(yīng)注意避免濫用,適用於需強調(diào)並附帶說明的內(nèi)容,而非普通裝飾圖;5.不可忽視的alt屬性,它與figcaption的作用不同;6.figcaption位置靈活,可根據(jù)需要放在figure內(nèi)頂部或底部。正確使用這兩個標(biāo)籤,有助於構(gòu)建語義清晰、易於理解的網(wǎng)頁內(nèi)容。

    如何在沒有服務(wù)器的情況下處理HTML中的表單提交? 如何在沒有服務(wù)器的情況下處理HTML中的表單提交? Jul 09, 2025 am 01:14 AM

    沒有後端服務(wù)器時,仍可通過前端技術(shù)或第三方服務(wù)處理HTML表單提交。具體方法包括:1.使用JavaScript攔截表單提交以實現(xiàn)輸入驗證和用戶反饋,但數(shù)據(jù)不會持久化;2.借助如Formspree等第三方無服務(wù)器表單服務(wù)收集數(shù)據(jù)並提供郵件通知和重定向功能;3.利用localStorage進(jìn)行客戶端臨時數(shù)據(jù)存儲,適合保存用戶偏好或管理單頁應(yīng)用狀態(tài),但不適合敏感信息的長期保存。

    HTML中最常用的全局屬性是什麼? HTML中最常用的全局屬性是什麼? Jul 10, 2025 am 10:58 AM

    class、id、style、data-、title是HTML中最常用的全局屬性。 class用於指定一個或多個類名以方便樣式設(shè)置和JavaScript操作;id為元素提供唯一標(biāo)識符,適用於錨點跳轉(zhuǎn)和JavaScript控制;style允許添加內(nèi)聯(lián)樣式,適合臨時調(diào)試但不推薦大量使用;data-屬性用於存儲自定義數(shù)據(jù),便於前後端交互;title用於添加鼠標(biāo)懸停提示,但其樣式和行為受限於瀏覽器。合理選擇這些屬性可提升開發(fā)效率和用戶體驗。

    在HTML中實現(xiàn)圖像的本機(jī)懶負(fù)荷 在HTML中實現(xiàn)圖像的本機(jī)懶負(fù)荷 Jul 12, 2025 am 12:48 AM

    原生懶加載是一種瀏覽器內(nèi)置功能,通過在標(biāo)籤中添加loading="lazy"屬性實現(xiàn)延遲加載圖片。 1.它無需JavaScript或第三方庫,直接在HTML中使用;2.適合用於頁面下方非首屏顯示的圖片、圖片畫廊滾動加載項和大型圖片資源;3.不適合首屏圖片或display:none的圖片;4.使用時應(yīng)設(shè)置合適的佔位空間以避免佈局抖動;5.應(yīng)結(jié)合srcset和sizes屬性優(yōu)化響應(yīng)式圖片加載;6.需要考慮兼容性問題,部分舊瀏覽器不支持,可通過特性檢測並結(jié)合JavaScript方案作

    See all articles