首頁 web前端 css教學 CSS瀏覽器相容問題集

CSS瀏覽器相容問題集

Apr 05, 2017 am 10:39 AM

CSS對瀏覽器的兼容性有時讓人很頭疼,或許當你了解當中的技巧跟原理,就會覺得也不是難事,從網上收集了IE7,6與Fireofx的兼容性處理方法並整理了一下.對於web2.0的過度,請盡量用xhtml格式寫代碼,而且DOCTYPE 影響 CSS 處理,作為W3C的標準,一定要加DOCTYPE聲名.  

#CSS技巧

1.p的垂直居中問題

 vertical-align:middle; 將行距增加到和整個p一樣高 line-height:200px; 然後插入文字,就垂直居中了。缺點是控制內容不要換行  

2. margin加倍的問題
   
# 設定為float的p在ie下方設定的margin會加倍。這是一個ie6都存在的bug。解決方案是在這個p裡面加上display:inline;   


例如:   
<#p id=”imfloat”>   
# 對應的css為   

# #IamFloat{   

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

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


#3.浮動ie產生的雙倍距離#    
# #box{ float:left; width:100px; margin:0 0 0 100px; //此情況之下IE會產生200px的距離 display:inline; //使浮動忽略}   
# 這裡細說一下block與inline兩個元素:block元素的特點是,總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);Inline元素的特點是,和其他元素在同一行,無法控制(內嵌元素);   

## #box{ display:block; //可以模擬內嵌元素為區塊元素 display:inline; //實現同一行排列的效果 diplay:table;   

#4 IE與寬度和高度的問題 
 
IE不認得min-這個定義,但實際上它把正常的width和height當作有min的情況來使。這樣問題就大了,如果只用寬度和高度,正常的瀏覽器裡這兩個值就不會變,如果只用min-width和min-height的話,IE下面根本等於沒有設定寬度和高度。   
# 例如要設定背景圖片,這個寬度是比較重要的。要解決這個問題,可以這樣:   
# #box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px min-height: auto; min-width: 80px min-height: auto; min-width: 80px min-height: auto; min-width: 80px min-height: auto; min-width: 80px min-height: auto;
> 頁面的最小寬度
   # min-width是個非常方便的CSS指令,它可以指定元素最小也不能小於某個寬度,這樣就能保證排版一直都正確。但IE不認得這個,而它實際上把width當作最小寬度來使。為了讓這項指令在IE上也能用,可以把一個

 放到  標籤下,然後為p指定一個類別,然後CSS這樣設計:   
#container{ min-width: 600px; width:expression(document.body.clientWidth < 600? "600px": "auto" );}   

















#######################################################################################################################' 第一個min-width是正常的;但第2行的width使用了Javascript,這只有IE才認得,這也會讓你的HTML文件不太正規。它實際上透過Javascript的判斷來實現最小寬度。  #########6.p浮動IE文字產生3像素的bug###   ####### 左邊物件浮動,右邊採用外補丁的左邊距來定位,右邊物件內的文字會離左邊有3px的間距.   ####### #box{ float:left; width:800px;}  ######## #left{ float:left; width:50%;}  ########## #right{ width:50%;}  ######## *html #left{ margin-right:-3px; //這句話是關鍵}   ###   #######  

  ###############################################################”  

  #######

  #########7.IE捉迷藏的問題###   ###### 當p應用複雜的時候每個欄中又有一些鏈接,p等這個時候容易發生捉迷藏的問題。   #### 有些內容顯示不出來,當滑鼠選擇這個區域是發現內容確實在頁面。 解決方法:對#layout使用line-height屬性 或給#layout使用固定高和寬。頁面結構盡量簡單。  #########8.float的p閉合;清除浮動;自適應高度;###   ######①例如:<#p id=”floatA” ><#p id=”floatB” ><#p id=”NOTfloatC” >這裡的NOTfloatC不希望繼續平移,而是希望往下排。 (其中floatA、floatB的屬性已經設定為float:left;)  

這段程式碼在IE中毫無問題,問題出在FF。原因是NOTfloatC並非float標籤,必須將float標籤閉合。在 <#p class=”floatB”> <#p class=”NOTfloatC”>之間加上 <#p class=”clear”>這個p一定要注意位置,而且必須與兩個具有float屬性的p同級,之間不能有嵌套關係,否則會產生異常。 並且將clear這種樣式定義為如下即可: .clear{ clear:both;}   

# ②作為外部 wrapper 的 p 不要定死高度,為了讓高度能自動適應,要在wrapper裡面加上overflow:hidden; 當包含float的box的時候,高度自動適應在IE下無效,這時候應該觸發IE的layout私有屬性(萬惡的IE啊!)用zoom:1;可以做到,這樣就達到了兼容。  
例如某一個wrapper如下定義:   


# .colwrapper{ overflow:hidden; zoom:1; margin:5px auto;}   

## ③對於排版,我們用得最多的css描述可能就是float:left.有的時候我們需要在n欄的float p後面做一個統一的背景,譬如:  
#   

##  

  
#  

  
##  

   
#

  
# 例如我們要將page的背景設定成藍色,以達到所有三欄的背景顏色是藍色的目的,但是我們會發現隨著left center right的向下拉長,而page居然保存高度不變,問題來了,原因在於page不是float屬性,而我們的page由於要居中,不能設定成float,所以我們應該這樣解決  
#   

##    
 

  
#  

  
##  

  









#############################”  

  ####

  #### 再嵌入一個float left而寬度是100%的p解  ####### ④萬用float 閉合(非常重要!)   #### 關於 clear float 的原理可參見 [How To Clear Floats Without Structural Markup],將以下程式碼加入Global CSS 中,給需要閉合的p class="clearfix"  CSS 中,給需要閉合的p class="clearfix"  /* 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 */   ####### 或這樣設定:.hackbox{ display:table; //將物件作為區塊元素級的表格顯示}  ###  ###

以上是CSS瀏覽器相容問題集的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

使用GraphQL緩存 使用GraphQL緩存 Mar 19, 2025 am 09:36 AM

如果您最近開始使用GraphQL或審查了其優點和缺點,那麼您毫無疑問聽到了諸如“ GraphQl不支持緩存”或

使用Redwood.js和Fauna構建以太坊應用 使用Redwood.js和Fauna構建以太坊應用 Mar 28, 2025 am 09:18 AM

隨著最近比特幣價格超過20k美元的攀升,最近打破了3萬美元,我認為值得深入研究創建以太坊

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue團隊完成了完成,我知道這是一項巨大的努力,而且很長時間。所有新文檔也是如此。

用高架創建自己的野蠻人 用高架創建自己的野蠻人 Mar 18, 2025 am 11:23 AM

無論您是開發人員的哪個階段,我們完成的任務(無論大小)都會對我們的個人和專業成長產生巨大影響。

您可以從瀏覽器獲得有效的CSS屬性值嗎? 您可以從瀏覽器獲得有效的CSS屬性值嗎? Apr 02, 2025 pm 06:17 PM

我有人寫了這個非常合法的問題。 Lea只是在博客上介紹瞭如何從瀏覽器中獲得有效的CSS屬性。那樣的是這樣。

在CI/CD上有點 在CI/CD上有點 Apr 02, 2025 pm 06:21 PM

我說的“網站”比“移動應用程序”更合適,但我喜歡Max Lynch的框架:

比較瀏覽器的響應式設計 比較瀏覽器的響應式設計 Apr 02, 2025 pm 06:25 PM

這些桌面應用程序中有許多目標是同時在不同的維度上顯示您的網站。因此,例如,您可以寫作

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

See all articles