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

歡迎訪問 生活随笔!

生活随笔

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

HTML

牛人推荐的跨浏览器兼容性总结

發布時間:2025/5/22 HTML 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛人推荐的跨浏览器兼容性总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、 ?CSS樣式兼容

1. FLOAT閉合(clearing float)

網頁在某些瀏覽器上顯示錯位很多時候都是因為使用了float浮動而沒有真正閉合,這也是div無法自適應高度的一個原因。如果父div沒有設float而其子div卻設了float的話,父div無法包住整個子DIV,這種情況一般出現在一個父DIV下包含多個子DIV。解決辦法:

1) 給父DIV也設上float

2) 在所有子DIV后新加一個空DIV(目前Ext是這么做的),比如:

.parent{width:100px;}

.son1{float:left;width:20px;}

.son2{float:left;width:80px;}

.clear{clear:both;margin:0;parding0;height:0px;font-size:0px;}

<div class="parent">

????? <div class="son1"></div>

????? <div class="son2"></div>

????? <div class="clear"></div>

</div>

?

3) ?萬能 float 閉合

將以下代碼加入Global CSS 中,給需要閉合的div加上 class=”clearfix” 即可,屢試不爽。

<style>

/* Clear Fix */

.clearfix:after {

content:".";

display:block;

height:0;

clear:both;

visibility:hidden;

}

.clearfix {

display:inline-block;

}

/* Hide from IE Mac \*/

.clearfix {display:block;}

/* End hide from IE Mac */

/* end of clearfix */

</style>

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

?4) overflow:auto

只要在父DIV的CSS中加上overflow:auto就搞定。舉例:

.parent{width:100px;overflow:auto}

.son1{float:left;width:20px;}

.son2{float:left;width:80px;}

<div class="parent">

????? <div class="son1"></div>

????? <div class="son2"></div>

</div>

原理是,外圍元素之所以不能很好的延伸,問題出在了overflow上,因為overflow不可見(見W3C的解釋)。現在只要將給外圍元素添 加一個“overflow:auto”,就可以解決問題,結果是除了IE,真的可以解決。下來就要解決IE的問題了,再加上“_height:1%”,這個問題就完全解決了。我試了一下,其實不加"_height:1%“在IE下也行,留著吧。

?2.截字省略號

.hh {

-o-text-overflow:ellipsis;

text-overflow:ellipsis;

white-space:nowrap;

overflow:hidden;

}

這個是在越出長度后會自行的截掉多出部分的文字,并以省略號結尾。技術是好技術,很多人都喜歡亂用,但注意Firefox并不支持。?

<meta http-equiv="x-ua-compatible" content="ie=7" />

頁面加上這句就可以讓頁面兼容IE7了?

供參考! 給大家提醒一個漂浮需要注意的問題 注意設置DIV寬和高 注意設置overflow:hidden; 注意閉合針對火狐 父div樣式display:inline-block;?

3. ?cursor:hand和cursor:pointer

firefox不支持hand,但ie支持pointer

解決方法:統一使用pointer?

4. CSS透明

幾款瀏覽器對透明度的支持方式各不相同,為了保證在IE, Firefox, Chrome, Safari等主流瀏覽器下都能正常顯示透明度的效果,我們可以定義一個透明度的class,因為一寫就要寫3條,省的每次都復制來復制去了。

具體代碼如下:

.transparent{

filter:alpha(opacity=60);? /*支持 IE 瀏覽器*/

-moz-opacity:0.6; /*支持 FireFox 瀏覽器*/

opacity:0.6;? /*支持 Chrome, Opera, Safari 等瀏覽器*/

}

?5.css中的width和padding

在IE7和FF中width寬度不包括padding,在Ie6中包括padding。

二、 JavaScript兼容

1. children與childNodes

IE提供的children、childNodes和firefox下的childNodes的行為是有區別的,firefox下childNodes會把換行和空白字符都算作父節點的子節點,而IE的childNodes和children不會。比如:

<div id="dd">

<div>yizhu2000</div>

</div>

id為dd的div在IE下用childNodes查看,其子節點數為1,而ff下為三,我們可以從firefox的dom查看器里面看到他的childNodes為["\n ", div, "\n"]。

要在firefox下模擬children的屬性我們可以這樣做:

if (typeof(HTMLElement) != "undefined" && !window.opera) {

??? HTMLElement.prototype.__defineGetter__("children", function() {

??????? for (var a = [], j = 0, n, i = 0; i < this.childNodes.length; i++) {

??????????? n = this.childNodes[i];

??????????? if (n.nodeType == 1) {

??????????????? a[j++] = n;

??????????????? if (n.name) {

??????????????????? if (!a[n.name])

??????????????????????? a[n.name] = [];

??????????????????? a[n.name][a[n.name].length] = n;

??????????????? }

??????????????? if (n.id)

??????????????????? a[n.id] = n;

??????????? }

??????? }

??????? return a;

??? });

}?

2. firefox和ie的事件

window.event只能在IE下使用,而不能用在Firefox下,這是因為Firefox的event只能在事件發生的現場使用。? Firefox必須從源處加入event作參數傳遞。IE忽略該參數,用window.event來讀取該event。

比方說下面這個在ie下獲得鼠標位置的方法:

<button οnclick="onClick()" >獲得鼠標點擊橫坐標</button>

<script type="text/javascript">

function onclick(){

alert(event.clientX);

}

</script>?

需要改成

<button οnclick="onClick(event)">獲得OuterHTML</button>

<script type="text/javascript">

function onclick(event){

event = event || window.event;

alert(event.clientX);

}

</script>

才能在兩種瀏覽器下使用?

3.HTML對象獲取問題

FireFox獲取方式document.getElementById("idName")

ie使用document.idname或者document.getElementById("idName")

解決辦法:統一使用document.getElementById("idName");?

4. const問題

在Firefox下,可以使用const關鍵字或var關鍵字來定義常量;

IE下,只能使用var關鍵字來定義常量;

解決方法:統一使用var關鍵字來定義常量。?

5.frame問題

以下面的frame為例:

<frame src="xxx.html" id="frameId" name="frameName" />?

a)訪問frame對象

IE:使用window.frameId或者window.frameName來訪問這個frame對象,frameId和frameName可以同名;

Firefox:只能使用window.frameName來訪問這個frame對象;

另外,在IE和Firefox中都可以使用window.document.getElementById("frameId")來訪問這個frame對象;

?

b) 切換frame內容

在 IE和Firefox中都可以使用window.document.getElementById("testFrame").src = "xxx.html"或window.frameName.location = "xxx.html"來切換frame的內容;

如果需要將frame中的參數傳回父窗口(注意不是opener,而是parent),可以在frame中使用parent來訪問父窗口。例如:

parent.document.form1.filename.value="Aqing";?

6. body問題

Firefox的body在body標簽沒有被瀏覽器完全讀入之前就存在;而IE的body則必須在body標簽被瀏覽器完全讀入之后才存在;?

7. firefox與IE的父元素(parentElement)的區別

IE:obj.parentElement

firefox:obj.parentNode

解決方法:因為firefox與IE都支持DOM,因此全部使用obj.parentNode?

8.innerText的問題

innerText在IE中能正常工作,但是innerText在FireFox中卻不行,需用textContent;

解決方法:

if (navigator.appName.indexOf("Explorer") > -1) {

??? document.getElementById('element').innerText = "my text";

} else {

??? document.getElementById('element').textContent = "my text";

}?

9.AJAX獲取XMLHTTP的區別

var xmlhttp;

if (window.XMLHttpRequest) {

??? xmlhttp = new XMLHttpRequest();

} elseif (window.ActiveXObject) { // IE的獲取方式

??? xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

注意:在IE中,xmlhttp.send(content)方法的content可以為空,而firefox則不能為null,應該用send(""),否則會出現411錯誤。

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的牛人推荐的跨浏览器兼容性总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费看一级视频 | 国产av第一区 | 自拍偷拍视频网 | 成人a站| 欧美成人免费在线观看视频 | 中文天堂在线观看 | 丰满肉嫩西川结衣av | 日韩精品视频免费看 | 中文字幕黑丝 | 日韩短视频 | 欧美另类极品videosbest最新版本 | 我的好妈妈在线观看 | 日韩一级免费片 | 艳妇臀荡乳欲伦交换电影 | 操出白浆视频 | 日韩avav | 天堂网www在线 | 国产精品影音先锋 | 欧美久久久久久 | 最新中文字幕2019 | 免费se99se| 噜噜色综合 | 国产小视频免费观看 | 秋霞影院av| 超碰在线99 | av免费播放| 国产亚洲精久久久久久无码苍井空 | v天堂在线观看 | 欧美乱做爰xxxⅹ久久久 | 狠狠干伊人网 | 日韩精品一区不卡 | 91在线无精精品入口 | 精品欧美一区二区三区在线观看 | 色眯眯视频| 四虎永久免费地址 | 自拍一级片| 久久久免费精品视频 | 欧美做受喷浆在线观看 | 日韩精品麻豆 | 亚洲精品美女网站 | 麻豆最新 | www.天天干 | 麻豆高清视频 | 三级视频久久 | 又粗又大又硬毛片免费看 | 91麻豆精品在线观看 | 亚洲福利在线视频 | 91福利在线导航 | 波多野结衣电车 | 五月婷婷丁香在线 | 青娱乐极品视频在线 | 国产精品国产三级国产aⅴ9色 | 欧美日韩中文字幕在线视频 | 日本一区二区三区网站 | 麻豆成人久久精品一区二区三区 | 三级黄色免费网站 | 91操人| 秋霞成人av| 国产精品亚洲五月天丁香 | 青青草国产精品视频 | 国产精品视频你懂的 | 高清成人免费视频 | 最新99热| 粗暴video蹂躏hd | 最近中文字幕一区二区 | 免费一二区 | 五月综合激情 | 一呦二呦三呦精品网站 | 97香蕉久久超级碰碰高清版 | 污污的网站在线免费观看 | 狠狠操狠狠操狠狠操 | 自拍偷拍亚洲欧洲 | 欧美18av| 黄色一级片视频 | 国产91热爆ts人妖在线 | 91麻豆一区二区 | 精品视频一区二区三区 | 欧美视频色 | 午夜精品福利在线观看 | 久久精品性 | 国产免费一区二区三区网站免费 | 亚洲av网址在线 | 欧美日韩制服 | 久久天天综合 | 91在线一区二区三区 | 国产精品美女久久久久av爽 | 乱xxxxx普通话对白 | 青草青草视频 | 色婷婷综合视频 | 91麻豆国产精品 | 手机在线观看av | 欧美天天| 美女热逼 | 看av网站| 色爽 | 奇米影视一区二区三区 | 日韩电影一区二区在线观看 | 91手机在线 | 国产精选在线 |