日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html浏览器的区别是什么意思,不同浏览器对css的识别有区别吗?

發(fā)布時間:2023/12/20 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html浏览器的区别是什么意思,不同浏览器对css的识别有区别吗? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

不同瀏覽器對css的識別是有區(qū)別,因此針對不同的瀏覽器去寫不同的CSS。下面本篇文章給大家介紹一些常用CSS書寫技巧(不同瀏覽器之間的差異)。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

不同的瀏覽器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,對CSS的解析認識不一樣,因此會導(dǎo)致生成的頁面效果不一樣,得不到我們所需要的頁面效果。這個時候我們就需要針對不同的瀏覽器去寫不同的CSS,讓它能夠同時兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。這個針對不同的瀏覽器寫不同的CSS code的過程,就叫CSS hack,也叫寫CSS hack。

由于不同的瀏覽器對CSS的支持及解析結(jié)果不一樣,還由于CSS中的優(yōu)先級的關(guān)系。我們就可以根據(jù)這個來針對不同的瀏覽器來寫不同的CSS。

比如 IE6能識別下劃線"_"和星號" * ",IE7能識別星號" * ",但不能識別下劃線"_",而firefox兩個都不能認識。等等

書寫順序,一般是將識別能力強的瀏覽器的CSS寫在后面。下面列舉常用的CSS hack方法

1:!important

!important作用是提高指定樣式規(guī)則的應(yīng)用優(yōu)先權(quán)。

IE7以及所有標準瀏覽器能識別!important

區(qū)別IE6與IE7與其他瀏覽器.browserTest

{

border:20px solid #60A179 !important;

border:20px solid #00F;

}

在Mozilla中或者IE7瀏覽時候,能夠理解!important的優(yōu)先級,因此顯示#60A179的顏色:

在IE6中瀏覽時候,不能夠理解!important的優(yōu)先級,因此顯示#00F的顏色:

2:*

IE都能識別*;標準瀏覽器(如火狐)不能識別*

區(qū)別IE6與火狐.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F;

}

區(qū)別IE7與火狐.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F;

}

區(qū)別IE7,IE6與火狐

.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F !important;

*border:20px solid ###;

}

3:_

IE6支持下劃線,IE7和firefox均不支持下劃線

區(qū)別IE7,IE6與火狐.browserTest

{

border:20px solid #60A179;

*border:20px solid #00F;

_border:20px solid ###;

}

/*不管是什么方法,書寫的順序都是firefox的寫在前面,IE7的寫在中間,IE6的寫在最后面*/

4:*+html 與 *html

*+html 與 *html 是IE特有的標簽, firefox 暫不支持.而*+html 又為 IE7特有標簽.browserTest { width: 120px; } /* FireFox fixed */

*html .browserTest { width: 80px;} /* ie6 fixed */

*+html .browserTest { width: 60px;} /* ie7 fixed */

注意:

*+html 對IE7的HACK 必須保證HTML頂部有如下聲明:

/*****************************************************************************/

/*****************************************************************************/

以下是一些常用的CSS兼容技巧

1)火狐下給div設(shè)置padding后會導(dǎo)致width和height 增加, 但IE不會.(可用!important解決)

2)垂直居中,將 line-height設(shè)置為當前div相同的高度, 再通過vertical-align: middle;( 注意內(nèi)容不要換行)

3)水平居中,margin:0 auto;(當然不是萬能)

4)若需給a標簽內(nèi)內(nèi)容加上樣式, 需要設(shè)置 display: block;(常見于導(dǎo)航標簽)

5)浮動IE產(chǎn)生的雙倍距離

在IE下,當一個div設(shè)置了float后,然后給他設(shè)置margin,就會出現(xiàn)加倍的margin,解決的辦法是給div設(shè)置display:inline。

相應(yīng)的css為#float

{

float:left;

margin:5px;/*IE下理解為10px*/

display:inline;/*IE下再理解為5px*/

}

Block元素的特點是:總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);Inline元素的特點是:和其他元素在同一行上,...不可控制(內(nèi)嵌元素);

6)IE和FF對盒模型的解釋區(qū)別#browserTest{ width: 650px !important;width: 648px;padding-left:2px;background:#fff; }

browserTest顯示的寬度是650px;

IE Box的總寬度是:width+padding+border+margin寬度總和;

FF Box的總寬度就是:width的寬度,padding+border+margin的寬度在含在width內(nèi)。

如果有BOX{WIDTH:"300"; PADDING:"5PX";}

則BOX在IE的寬度應(yīng)該為:310

而在FF的寬度則是300

所以在BOX有填充的情況下應(yīng)該這樣使用BOX{WIDTH:"300" !IMPORTANT; WIDTH:"290";}

7)ul標簽在FF下面默認有l(wèi)ist-style和padding, 最好事先聲明, 以避免不必要的麻煩;(常見于導(dǎo)航標簽和內(nèi)容列表)

8)作為外部wrapper的div不要定死高度, 最好還加上 overflow: hidden;以達到高度自適應(yīng);

9)頁面的最小寬度

min-width是個非常方便的CSS命令,它可以指定元素最小也不能小于某個寬度,這樣就能保證排版一直正確。但IE不認得這個,

而它實際上把width當做最小寬度來使。為了讓這一命令在IE上也能用,可以把一個

放到 標簽下,然后為div指定一個類:

然后CSS這樣設(shè)計:#container{ min-width: 600px; width:expression(document.body.clientWidth < 600? "600px": "auto" );}

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

10:萬能float閉合

將以下代碼加入Global CSS 中,給需要閉合的div加上

.clearfix:after

{

content:".";

display:block;

height:0;

clear:both;

visibility:hidden;

}

*html .clearfix{

height:1%;

}

*+html .clearfix{

height:1%;

}

.clearfix

{

display:inline-block;

}

/* Hide from IE Mac */

.clearfix {display:block;}

/* End hide from IE Mac */

/* end of clearfix */

/**********************************************/

Float left

Float right

#wrap{ border:6px #ccc solid; overflow:auto; _height:1%;}

.column_left{ float:left; width:20%; padding:10px;}

.column_right{ float:right; width:75%; padding:10px; border-left:6px #eee solid;}

更多web前端開發(fā)知識,請查閱 HTML中文網(wǎng) !!

總結(jié)

以上是生活随笔為你收集整理的html浏览器的区别是什么意思,不同浏览器对css的识别有区别吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。