營銷網(wǎng)站建設(shè)
全網(wǎng)營銷網(wǎng)站
高端網(wǎng)站建設(shè)
商城網(wǎng)站建設(shè)
外貿(mào)網(wǎng)站建設(shè)
小程序開發(fā)
區(qū)塊鏈開發(fā)
物聯(lián)網(wǎng)項(xiàng)目開發(fā)
定制app開發(fā)
在線教育網(wǎng)站
速成網(wǎng)站建設(shè)
服裝網(wǎng)站建設(shè)
餐飲網(wǎng)站建設(shè)
珠寶首飾網(wǎng)站
機(jī)械制造網(wǎng)站
文化旅游網(wǎng)站
家裝建材網(wǎng)站
美容化妝品網(wǎng)站
數(shù)碼產(chǎn)品網(wǎng)站
模板案例庫
文章編輯:網(wǎng)站建設(shè) 文章來源:建站行業(yè)資訊 瀏覽量:次
原標(biāo)題:瀏覽器兼容性問題解決方案 · 總結(jié)
普及:瀏覽器的兼容性問題,往往是個(gè)別瀏覽器(沒錯,就是那個(gè)與眾不同的瀏覽器)對于一些標(biāo)準(zhǔn)的定義不一致導(dǎo)致的。俗話說:沒有IE就沒有傷害。
貼士:內(nèi)容都是自己總結(jié)的,不免會出現(xiàn)錯誤或者bug,歡迎更正和補(bǔ)充,本帖也會不斷更新。
不同瀏覽器的默認(rèn)樣式存在差異,可以使用 Normalize.css 抹平這些差異。當(dāng)然,你也可以定制屬于自己業(yè)務(wù)的 reset.css
<link rel="stylesheet">
簡單粗暴法
* { margin: 0; padding: 0; }
解決 ie9 以下瀏覽器對 html5 新增標(biāo)簽不識別的問題。
<!--[if lt IE 9]>
<script type="text/javascript" src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js">
</script>
<![endif]-->
解決 ie9 以下瀏覽器不支持 CSS3 Media Query 的問題。
<script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js">
</script>
解決 IE 9 10 11 等瀏覽器不支持 <picture> 標(biāo)簽的問題
<script src="https://cdn.bootcss.com/picturefill/3.0.3/picturefill.min.js">
</script>
IE 的條件注釋僅僅針對IE瀏覽器,對其他瀏覽器無效

針對不同的 IE 瀏覽器,可以使用不同的字符來對特定的版本的 IE 瀏覽器進(jìn)行樣式控制


-o-transform:rotate(7deg); // Opera
-ms-transform:rotate(7deg); // IE
-moz-transform:rotate(7deg); // Firefox
-webkit-transform:rotate(7deg); // Chrome
transform:rotate(7deg); // 統(tǒng)一標(biāo)識語句
很多新人在寫 a 標(biāo)簽的樣式,會疑惑為什么寫的樣式?jīng)]有效果,或者點(diǎn)擊超鏈接后,hover、active 樣式?jīng)]有效果,其實(shí)只是寫的樣式被覆蓋了。
正確的a標(biāo)簽順序應(yīng)該是:==love hate==
link:平常的狀態(tài)
visited:被訪問過之后
hover:鼠標(biāo)放到鏈接上的時(shí)候
active:鏈接被按下的時(shí)候
<input type="text" value="Name *" onFocus="this.value = '';" onBlur="if (this.value == '') {this.value = 'Name *';}">
.fl { float: left; }
.fr { float: right; }
.clearfix:after { display: block; clear: both; content: ""; visibility: hidden; height: 0; }
.clearfix { zoom: 1; }
當(dāng)相鄰元素都設(shè)置了 margin 邊距時(shí),margin 將取最大值,舍棄小值。為了不讓邊距重疊,可以給子元素加一個(gè)父元素,并設(shè)置該父元素為 BFC:overflow: hidden;
<div class="box" id="box">
<p>Lorem ipsum dolor sit.</p>
<div "overflow: hidden;">
<p>Lorem ipsum dolor sit.</p>
</div> <p>Lorem ipsum dolor sit.</p>
</div>
設(shè)置 ie6 中設(shè)置浮動,同時(shí)又設(shè)置 margin,會出現(xiàn)雙倍邊距的問題
display: inline;
opacity: 0.5;
filter: alpha(opacity = 50);
filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 50);
/* IE6 hack */
*html, *html body {
background-image: url(about:blank);
background-attachment: fixed;
}
*html #menu {
position: absolute;
top: expression(((e=document.documentElement.scrollTop) ? e : document.body.scrollTop) + 100 + 'px');
}
問題:鏈接、按鈕用 CSSsprites 作為背景,在 ie6 下會有背景圖閃爍的現(xiàn)象。原因是 IE6 沒有將背景圖緩存,每次觸發(fā) hover 的時(shí)候都會重新加載
解決:可以用 JavaScript 設(shè)置 ie6 緩存這些圖片:
document.execCommand("BackgroundImageCache", false, true);
日期<span> 標(biāo)簽放在標(biāo)題 <a> 標(biāo)簽之前即可

min-height: 350px; _height: 350px;
由于 background-size 是 CSS3 新增的屬性,所以 IE 低版本自然就不支持了,但是老外寫了一個(gè) htc 文件,名叫 background-size polyfill,使用該文件能夠讓 IE7、IE8 支持 background-size 屬性。其原理是創(chuàng)建一個(gè) img 元素插入到容器中,并重新計(jì)算寬度、高度、left、top 等值,模擬 background-size 的效果。
html {
height: 100%;
}
body {
height: 100%;
margin: 0;
padding: 0;
background-image: url('img/37.png');
background-repeat: no-repeat;
background-size: cover;
-ms-behavior: url('css/backgroundsize.min.htc');
behavior: url('css/backgroundsize.min.htc');
}
問題:在ie 中 img 與文字放一起時(shí),line-height 不起作用
解決:都設(shè)置成 float
width:100%
width:100% 這個(gè)東西在 ie 里用很方便,會向上逐層搜索 width 值,忽視浮動層的影響.
Firefox 下搜索至浮動層結(jié)束,如此,只能給中間的所有浮動層加 width:100%才行,累啊。
opera 這點(diǎn)倒學(xué)乖了,跟了 ie
cursor:hand
顯示手型 cursor: hand,ie6/7/8、opera 都支持,但是safari 、 ff 不支持
cursor: pointer;
td 自動換行的問題
問題:table 寬度固定,td 自動換行
解決:設(shè)置 Table 為 table-layout: fixed,td 為 word-wrap: break-word
想讓層的內(nèi)容顯示在 flash 上,把 FLASH 設(shè)置透明即可
1、<param name=" wmode " value="transparent" />
2、<param name="wmode" value="opaque"/>
var inp = document.getElementById('inp')
var result = document.getElementById('result')
function getKeyCode(e) {
e = e ? e : (window.event ? window.event : "")
return e.keyCode ? e.keyCode : e.which
}
inp.onkeypress = function(e) {
result.innerHTML = getKeyCode(e)
}
// 瀏覽器窗口可視區(qū)域大?。ú话üぞ邫诤蜐L動條等邊線)
// 1600 * 525
var client_w = document.documentElement.clientWidth || document.body.clientWidth;
var client_h = document.documentElement.clientHeight || document.body.clientHeight;
// 網(wǎng)頁內(nèi)容實(shí)際寬高(包括工具欄和滾動條等邊線)
// 1600 * 8
var scroll_w = document.documentElement.scrollWidth || document.body.scrollWidth;
var scroll_h = document.documentElement.scrollHeight || document.body.scrollHeight;
// 網(wǎng)頁內(nèi)容實(shí)際寬高 (不包括工具欄和滾動條等邊線)
// 1600 * 8
var offset_w = document.documentElement.offsetWidth || document.body.offsetWidth;
var offset_h = document.documentElement.offsetHeight || document.body.offsetHeight;
// 滾動的高度
var scroll_Top = document.documentElement.scrollTop||document.body.scrollTop;
var eventshiv = {
// event兼容
getEvent: function(event)
{return event ? event : window.event;
},
// type兼容
getType: function(event) {
return event.type;
},
// target兼容
getTarget: function(event) {
return event.target ? event.target : event.srcelem;
},
// 添加事件句柄
addHandler: function(elem, type, listener) {
if (elem.addEventListener) {
elem.addEventListener(type, listener, false);
}
else if (elem.attachEvent) {
elem.attachEvent('on' + type, listener);
}
else {
// 在這里由于.與'on'字符串不能鏈接,只能用 []
elem['on' + type] = listener;
}
},
// 移除事件句柄
removeHandler: function(elem, type, listener) {
if (elem.removeEventListener) {
elem.removeEventListener(type, listener, false);
}
else if (elem.detachEvent) {
elem.detachEvent('on' + type, listener);
}
else {
elem['on' + type] = null;
}
},
// 添加事件代理
addAgent: function (elem, type, agent, listener) {
elem.addEventListener(type, function (e) {
if (e.target.matches(agent)) {
listener.call(e.target, e); // this 指向 e.target
}
});
},
// 取消默認(rèn)行為
preventDefault: function(event) {
if (event.preventDefault) {
event.preventDefault(); }
else {
event.returnValue = false;
}
},
// 阻止事件冒泡
stopPropagation: function(event) {
if (event.stopPropagation) {
event.stopPropagation();
}
else {
event.cancelBubble = true;
}
}
};
深圳網(wǎng)站建設(shè)博納網(wǎng)絡(luò)編輯整理。
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點(diǎn),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【qin@198bona.com 】,我們在確認(rèn)后,會立即刪除,保證您的版權(quán)。
技術(shù)咨詢
價(jià)格咨詢
建議投訴
0755-82538016
關(guān)閉窗口