FireFox火狐瀏覽器與IE兼容問題 - 透明濾鏡 DIV滾動條

問題一:最簡單的鼠標(biāo)移過手變型的css要改了 cursor:pointer;/*FireFox(火狐)不支持cursor:hand*/ dw8下面自動出來的也沒有hand這個(gè)屬性了,標(biāo)準(zhǔn)的是pointer
問題二:FireFox(火狐)不支持濾鏡 最常見的半透明不支持。
filter: Alpha(Opacity=50); /* for IE */
opacity: .5;/* for Firefox */
style="-moz-opacity:0.5; filter:alpha(opacity=50);cursor:hand;" onmouseover="this.style.MozOpacity=1;
this.filters.alpha.opacity=100" onmouseout="this.style.MozOpacity=0.5;
this.filters.alpha.opacity=50"
問題三:FireFox(火狐)不支持expression 例如去掉鏈接的邊框要分別寫不同的css
a,area { blr:expression(this.onFocus=this.blur()) } /* for IE */
:focus { outline: none; } /* for Firefox */
問題四:FireFox(火狐)不支持div滾動條的顏色設(shè)置,目前還沒有找到替換的好方法。
.contendiv {
position: absolute; left: 0px; top: 10px; width: 580px;height: 135px;
line-height:120%;text-align:left; font-family:"宋體";word-break : break-all; color:#6D6E71;
OVERFLOW-Y:auto;OVERFLOW-X:no;
SCROLLBAR-ARROW-COLOR: red; SCROLLBAR-TRACK-COLOR: F6F6F6;SCROLLBAR-FACE-COLOR:#F6F6F6;SCROLLBAR-SHADOW-COLOR:#F6F6F6;
SCROLLBAR-DARKSHADOW-COLOR:#F6F6F6;SCROLLBAR-3DLIGHT-COLOR:#F6F6F6;SCROLLBAR-HIGHLIGHT-COLOR:#F6F6F6;
}
這個(gè)在FireFox(火狐)里面完全沒有效果了。
問題五:IE下面顯示在文字下面橫線的border-width: 0px 0px 1px 0px;在FireFox(火狐)里面跑到文字上面去了。(查了手冊還是沒有找到解決的辦法感覺莫名奇妙~~ 原來是FireFox(火狐)的容錯(cuò)能力太差了,是下面的width: 186px;height: 0px;寬高 引起的,其實(shí)a:haver已經(jīng)繼承了上級的屬性了,只要定義不同的樣式就可以了,看來FireFox(火狐)有助于制作標(biāo)準(zhǔn)化,簡潔化的網(wǎng)頁啊,對css的理解也更深刻,對提供css來說是個(gè)很好的幫助)
.onelinksdiv a:hover {
display: block;border-style: solid;color: #FireFox(火狐)0000;border-width: 0px 0px 1px 0px;
/*
display: block;border-style: solid; border-width: 0px 0px 1px 0px;
width: 186px;height: 0px; color: #FireFox(火狐)0000; font-size: 14px;text-align: right;
*/
}
//下面的寫法在IE下面正常,但在FireFox(火狐)下是錯(cuò)誤的
.onelinksdiv a:hover {
display: block;border: #FireFox(火狐)0000 solid; border-width: 0px 0px 1px 0px;
width: 186px;height: 0px; color: #FireFox(火狐)0000; font-size: 14px;text-align: right;
}
相關(guān)參考資料:
border-width:border-top-width border-right-width border-bottom-width border-left-width;
p#fourborders
{
border-width:thick medium thin 12px;
}
如果定義四個(gè)值,那么這四個(gè)值就分別是上,右,下,左邊框的寬度值(從上邊框開始,以逆時(shí)針的順序遍歷).
等價(jià)于下面的定義
p#fourborders
{
border-top-width:thick;
border-right-width:medium;
border-bottom-width:thin;
border-left-width:12px;
}
問題六:FireFox(火狐)不支持<body scroll="no" > scroll屬性,必須定義overflow:hidden;而且要在html標(biāo)簽下,不能在body下
html{
overflow:hidden;
}
問題七:FireFox(火狐)不支持?jǐn)?shù)據(jù)島綁定<xml id="news" src="news.xml" ></xml>在IE下可以加載進(jìn)數(shù)據(jù),但到了火狐就加載不進(jìn)數(shù)據(jù)了,開始以為可能是因?yàn)閮?nèi)容行文字太多導(dǎo)致不能斷行不能加載,但刪除只剩幾個(gè)字以后一樣不行。
問題八:style="word-break:break-all"在網(wǎng)頁中的單元格里的內(nèi)容超出一行時(shí),在IE瀏覽器里定義的換行樣式能夠正常使用,但在firefox里卻不能被支持了.style="word-break:break-all" 是MS擴(kuò)展的IE專有屬性,并未成為W3C標(biāo)準(zhǔn),因而 Firefox 還不能支持它。不過MS已經(jīng)將其提交到了W3C,而在W3C的CSS3的候選方案中也能看到它。希望這個(gè)屬性在被W3C最終定案的為CSS3標(biāo)準(zhǔn)后,F(xiàn)irefox可以支持吧。這之前,可以試試
style="table-layout:fixed;word-wrap: break-word" (當(dāng)它是英文的時(shí)候就不能正常換行了)
問題九:目前FireFox(火狐)2.0為止都不支持IE的name錨點(diǎn)
像這種寫法都是不支持的:<a href="###" onclick="history.go(-1)">go back</a>
原來根據(jù)W3C的語法,<a>標(biāo)簽始終都會查找href地址并跳轉(zhuǎn)過去,現(xiàn)在onclick事件與###這個(gè)地址又有沖突。
為了讓Firefox與IE部分元素屬性兼容,那個(gè)費(fèi)勁,我無意中發(fā)現(xiàn)Firefox對空格敏感:
<a onclick="window.location.href ='faq.php?page=messages#2'"> //有空格,錨點(diǎn)作用
<a onclick="window.location.href='faq.php?page=messages#2'"> //無空格,錨點(diǎn)無作用
錨點(diǎn)的寫法又十分講究,比如<a name=#1>,F(xiàn)irefox不支持錨點(diǎn),得加上id=#1
靜態(tài)同頁面引用時(shí)必須這樣寫:<a href="#1"></a>,<a href="static.html#1"></a>就不行,動態(tài)頁面要用JS
后遺癥來了,考慮到鼠標(biāo)樣式和瀏覽器兼容又開始折騰:
<a href="###" onclick=""> //不兼容
<a href="javascript:;" onclick=""> //不兼容
<a href="javascript:function();"> //沒有{...},屬于腳本的非法書寫
<a style="cursor:hand" onclick=""> //沒照顧到自定義系統(tǒng)鼠標(biāo)樣式的用戶
<a href="javascript:onclick=''"> //狀態(tài)欄會顯現(xiàn),href有多長顯示多長
<a href=# onclick=""> //我用的
問題十:FireFox(火狐)火狐下面不支持document.all屬性的,必需用document.getElementById('idName');
以下是我的動畫切換效果,在IE下正常,到了火狐里面就不動了,修改后可以切換圖片但漸隱漸現(xiàn)的效果就沒有了。原因是火狐不支持濾鏡filter,只好用半透明的div來實(shí)現(xiàn)了。
/*
company page
*/
function playcompanyimg()
{
window.setInterval('changecompanyimg();', interval);
}
function changecompanyimg()
{
/*
火狐下面不支持document.all屬性的,必需用document.getElementById('idName');
*/
//if (document.all)
//{
/**
以下兩句是在切換效果前切換背景圖片的代碼,number、image和idtemp要設(shè)置全局變量才可以
*/
number = Math.floor(Math.random() * image.length);
idtemp.src=image[number];
//alert(number+" ii "+idtemp.src)
/**
以下兩句是實(shí)現(xiàn)幻燈片切換效果的
*/
//alert(do_transition);
//document.all.companyimg.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=2,overlap=0.4)";
/*
document.all.companyimg.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=1,overlap=1)";
document.all.companyimg.filters[0].Apply();
document.all.companyimg.filters[0].Play();
*/
var companyimgidtmep = document.getElementById('companyimg');
companyimgidtmep.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=1,overlap=1)";
companyimgidtmep.filters[0].Apply();
companyimgidtmep.filters[0].Play();
//}
}
參考資料:核心:FILTER:revealTrans(duration=1,transition=23); 一個(gè)IE濾鏡,
在其它的非IE瀏覽器雖然不支持這個(gè)濾鏡,但是支持透明濾鏡的,你可以分一下,IE下繼續(xù)使用你這個(gè)效果,而在非IE瀏覽器下用透明濾鏡:
style.opacity
opacity = 0.5 CSS3
style.MozOpacity
-moz-opacity: 0.5 Mozilla 里等同上面這個(gè)濾鏡 這個(gè)濾鏡也適用于Netscape
style.KHTMLOpacity
-khtml-opacity: 0.5 Safari 里的透明濾鏡。
IE:
obj.filters.alpha.opacity
to meizz(梅花雪)
其實(shí)我想過你那個(gè)問題的。但是透明 opacity 這個(gè)他不是一個(gè)漸變的過程。
一般這種圖片過度特效最多持續(xù)一秒把,最多最多兩秒 duration=2
超過2秒就很累贅,喧賓奪主了。
在2秒鐘里面實(shí)現(xiàn)
g_img.style.filter="alpha(opacity="+i+")" 透明度的變化是比較累贅的事情。
要用 window.setInterval 改變 i 的值, 而且還要調(diào)用幾十上百次window.setInterval
才能看到效果。
這樣的話,我覺得得不賠失,是為了特效而特效了
另外一種考慮是,畢竟非IE瀏覽器是少數(shù),即使在FireFox(火狐)下 沒有圖片過度特效,其實(shí)也沒什么,
還是很流暢,不過就是看不到IE里面的美而已。
問題十一:FireFox(火狐)下鏈接的onclick事件不起作用
<div id="bigwhatwedo" ><a href="javascript:onclick = display('whatwedo')" target="">我們做什么</a></div> 在IE下沒有問題,在FireFox(火狐)下點(diǎn)擊了沒有反應(yīng)。作了多次嘗試,換成onclick="display('whatwedo')"仍然不行,后來通過多次檢查,搜索仍然找不到門路,最后采用慣用的方法--一步一步alert();出來看效果,原來是一個(gè)id的值寫錯(cuò)了,但奇怪的是IE下面沒有關(guān)系?是IE的容錯(cuò)內(nèi)容太強(qiáng)了還是火狐的容錯(cuò)內(nèi)容太差了?不過還是喜歡火狐的嚴(yán)謹(jǐn)和標(biāo)準(zhǔn)哈。可以讓人發(fā)現(xiàn)不少深層次的東西。哈哈。
問題十二:FireFox(火狐)中div定位不能通過js初始化 必須先設(shè)定值并且要設(shè)定度量單位 top:80px;left:212px;
問題十三:FireFox(火狐)不能用.click();方法打開鏈接,終于暫時(shí)性的解決了
<div><a href="#" onclick="test1(2)" id="a3_a">hello</a> </div>
<div>
<a href="" onclick ="test2(1)" id="b3">hello2</a></div>
<div><a href="javascript:onclick =test2(1)" id="b3">hello3</a>觸發(fā)事件放在href="javascript:onclick =test2(1)" 里面FireFox(火狐)無效</div>
<div onclick="test2(1)" id="b3">hello3</div>
<script language="javascript">
<!--
function test1(num)
{
window.alert(num);
}
function test2(num)
{
var aaa_a = document.getElementById("a3_a");
if(document.all) {//if(getOs()=="MSIE"){//IE的處理
aaa_a.click();
}
else
{
var evt = document.createEvent("MouseEvents");
evt.initEvent("click",true,true);
aaa_a.dispatchEvent(evt);
}
}
/*
判斷瀏覽器類型
*/
function getOs()
{
var OsObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox";
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino";
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko";
}
}
//--> </script>
<!-- 由于這里的鏈接是index的iframe用href="#" 在IE中不能正常顯示,
而用href="javascript:onclick = display('whatwedo')"的方式火狐不支持打開第一個(gè)鏈接,火狐必須用onclick="display('whoweare')"
本以為火狐瀏覽器使用的人很多,但從網(wǎng)站的統(tǒng)計(jì)分析來看火狐只有可憐的3.18%,但兼容他的標(biāo)準(zhǔn)確花費(fèi)不少精力!不過標(biāo)準(zhǔn)化有利于以后的維護(hù)和擴(kuò)展,有利于技術(shù)的不斷提示。
-->
問題十四:OVERFLOW-Y:auto;OVERFLOW-X:hidden;在IE里面可以用no表示隱藏,但在FireFox(火狐)里面必須用hidden
相關(guān)文章
- 這篇文章主要介紹了淺談原生頁面兼容IE9問題的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2020-12-16
新版chrome瀏覽器設(shè)置允許跨域的實(shí)現(xiàn)
這篇文章主要介紹了新版chrome瀏覽器設(shè)置允許跨域的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起2020-11-30css hack之\9和\0就可能對hack IE11\IE9\IE8無效
每次設(shè)計(jì)一張網(wǎng)頁或一個(gè)表單,都被各種瀏覽器的兼容問題傷透腦筋,尤其是IE家族。在做兼容性設(shè)計(jì)時(shí),我們往往會使用各種瀏覽器能識別的獨(dú)特語法進(jìn)行hack,從而達(dá)到各種瀏覽2020-03-20css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼
這篇文章主要介紹了css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼,需要的朋友可以參考下2020-03-20- 這篇文章主要介紹了解決CSS瀏覽器兼容性問題的4種方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)2020-02-28
- 這篇文章主要介紹了常見的瀏覽器兼容性問題(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)2020-02-20
- 這篇文章主要介紹了border-radius IE8兼容處理的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)2020-02-12
- 這篇文章主要介紹了淺談遇到的幾個(gè)瀏覽器兼容性問題,詳細(xì)的介紹了幾種我遇到的問題和解決方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-26
- 這篇文章主要介紹了base64圖片在各種瀏覽器的兼容性處理的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-14
對常見的css屬性進(jìn)行瀏覽器兼容性總結(jié)(推薦)
這篇文章主要介紹了對常見的css屬性進(jìn)行瀏覽器兼容性總結(jié)(推薦)的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-20