CSS兼容IE/Firefox要點

首先我們說說firefox和IE對CSS的寬度顯示有什么不同:
  其實CSS ’width’ 指的是標準CSS中所指的width的寬度,在firefox中的寬度就是這個寬度。它只包含容器中內容的寬度。而Internet Explorer ’width’則是指整個容器的寬度,包括內容,padding ,border。
Firefox中:容器占的寬度=內容寬度+padding寬度+border寬度
IE中:內容寬度=您定義的容器寬度(Internet Explorer ’width’)-padding寬度-border寬度

  所以,如果在樣式表中定義
???? width:120px;padding:5px
???? 那么在IE中顯示寬度就是120PX;(padding是在width里面)
?????在FIREFOX中顯示寬度就是125px;
??? ?這就是為什么網頁在IE中很好看,到了FIREFOX中就會換行,打破頁面布局.
 ? 所以,我們在樣式表中就必須這樣定義 :

  width:115px !important;width:120px;padding:5px;

 ? 必須注意的是 !important; 一定要在前面。??


CSS 兼容要點:
  • DOCTYPE 影響 CSS 處理
  • FF: div 設置 margin-left, margin-right 為 auto 時已經居中, IE 不行
  • FF: body 設置 text-align 時, div 需要設置 margin: auto(主要是 margin-left,margin-right) 方可居中
  • FF: 設置 padding 后, div 會增加 height 和 width, 但 IE 不會, 故需要用 !important 多設一個 height 和 width
  • FF: 支持 !important, IE 則忽略, 可用 !important 為 FF 特別設置樣式
  • div 的垂直居中問題: vertical-align:middle; 將行距增加到和整個DIV一樣高 line-height:200px; 然后插入文字,就垂直居中了。
    缺點是要控制內容不要換行
  • cursor: pointer 可以同時在 IE FF 中顯示游標手指狀, hand 僅 IE 可以
  • FF: 鏈接加邊框和背景色,需設置 display: block, 同時設置 float: left 保證不換行。參照 menubar, 給 a 和 menubar 設置高度
    是為了避免底邊顯示錯位, 若不設 height, 可以在 menubar 中插入一個空格
XHTML+CSS兼容性解決方案小集
  使用XHTML+CSS構架好處不少,但也確實存在一些問題,不論是因為使用不熟練還是思路不清晰,我就先把一些我遇到的
問題寫在下面,省的大家四處找^^
  • 在mozilla firefox和IE中的BOX模型解釋不一致導致相差2px解決方法:
    div{margin:30px!important;margin:28px;}注意這兩個margin的順序一定不能寫反,據阿捷的說法!important這個屬性
    IE不能識別,但別的瀏覽器可以識別。所以在IE下其實解釋成這樣:
    div{maring:30px;margin:28px}重復定義的話按照最后一個來執行,所以不可以只寫margin:XXpx!important;
  • IE5 和IE6的BOX解釋不一致IE5下div{width:300px;margin:0 10px 0 10px;}div的寬度會被解釋為300px-10px(右填充)-10px(左填充)最終div的寬度為280px,而在IE6和其他瀏覽器上寬度則 是以300px+10px(右填充)+10px(左填充)=320px來計算的。這時我們可以做如下修改
    div{width:300px!important;width??/**/:340px;margin:0??10px??0??10px},關于這個/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的話,請告訴我一聲,謝了!:)
  • ul標簽在Mozilla中默認是有padding值的,而在IE中只有margin有值所以先定義
    ul{margin:0;padding:0;}就能解決大部分問題
  • 關于腳本,在xhtml1.1中不支持language屬性,只需要把代碼改為
    <script??type="text/javascript">就可以了
  • margin加倍的問題
      設置為float的div在ie下設置的margin會加倍。這是一個ie6都存在的bug。
      解決方案是在這個div里面加上display:inline;
    例如:
    <#div id="imfloat"></#div>
      相應的css為
    #IamFloat{
    float:left;
    margin:5px;/*IE下理解為10px*/
    display:inline;/*IE下再理解為5px*/}

轉載于:https://www.cnblogs.com/trendline/archive/2008/06/16/1223222.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/380008.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/380008.shtml
英文地址,請注明出處:http://en.pswp.cn/news/380008.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java GregorianCalendar computeFields()方法與示例

GregorianCalendar類computeFields()方法 (GregorianCalendar Class computeFields() method) computeFields() method is available in java.util package. 在java.util包中提供了validateFields()方法 。 computeFields() method is used to compute the calendar fields and…

JS、JNS、JP(JPE)、JNP(JPO)指令詳解、從原理上解釋

JS 格式&#xff1a; js 地址當執行到JS指令時&#xff0c;如果標志位SF1&#xff0c;則跳轉到指定的地址&#xff0c;如果SF0&#xff0c;不跳轉 比如&#xff1a; cmp eax&#xff0c;ecx js 0040100c此時eax0&#xff0c;ecx1&#xff0c;執行完cmp命令&#xff0c;符號標…

zz如何保持專心

養成好習慣 養成在固定時間、固定地點專心學習工作的好習慣。 如果可能&#xff0c;在進入學習或者工作狀態前做一些小儀式&#xff0c;比如擺個姿勢&#xff0c;戴上學習帽什么的。就好像在運動前做準備活動一樣&#xff0c;給身體一個提示。讓頭腦做好準備 避免在學習前做什么…

Java——File類

一&#xff0c;File類的概述和構造方法 A&#xff1a;file類的概述 file類可以理解成一個路徑 文件夾或者是文件夾路徑 路徑分為絕對路徑和相對路徑 絕對路徑是一個固定的路徑&#xff0c;從盤符開始 這里的G&#xff1a;\TIM 就是一個絕對路徑&#xff0c;是一個固定的路…

Linux進程環境

一 main函數 當內核使用一個exec函數執行C程序時&#xff0c;在調用main函數之前先調用一個特殊的啟動例程&#xff0c;可執行程序將此例程指定為程序的起始地址。啟動例程從內核獲取命令行參數和環境變量&#xff0c;然后為調用main函數做好準備。 二 進程終止 進程終止的方式…

JO、JNO、JB、JNB命令詳解(從原理上)

JO 當執行到jo命令時&#xff0c;如果ZF標志位為1&#xff0c;則跳轉&#xff0c;反之不跳轉 add eax,ecx jo 00401000c此時eax7fff ffff &#xff0c;ecx0000 0001&#xff0c;執行完add命令&#xff0c;OF1&#xff0c;原因是eax存儲的最大值是7fffffff&#xff0c;再加1&a…

java 根據類名示例化類_Java類類getProtectionDomain()方法及示例

java 根據類名示例化類類class getProtectionDomain()方法 (Class class getProtectionDomain() method) getProtectionDomain() method is available in java.lang package. getProtectionDomain()方法在java.lang包中可用。 getProtectionDomain() method is used to return …

snagit 9.0注冊碼

8.0的注冊碼 A5CCU-RYNM4-C9ECC-5CWW9-B5R7B 5HCC5-4CCC9-NGXCM-XYDZ5-H6ER6 HLHAD-2CZLC-8XYDC-CC5CB-P289A D5DSC-WZCBM-JRHSC-QVTEV-TR7R8 snagit 9.0: name:Team Z.W.T sn:XMYU5-9CMBC-5SLBZ-DKML2-JE8M5 謝謝 name:Team Z.W.T sn: WDYMP-8ALRM-GVVV2-PH8VK-6MD27 Z…

vue3 配置 @符號

config,ts 配置 有 爆紅 安裝 npm install 一下 然后 配置 路徑提示功能 tsconfig.json 配置 路徑提示功能 一共這兩個路徑配置

android 頁面轉換

通過setContentView來改變布局 很簡單 ViewchangeActivity.java package idrc.change;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class ViewchangeActivity extends Activity {/** Called when the…

mts模式_MTS的完整形式是什么?

mts模式MTS&#xff1a;Microsoft Transaction Server /移動電話服務/多通道電視聲音 (MTS: Microsoft Transaction Server/ Mobile Telephone Service/ Multichannel Television Sound) 1)MTS&#xff1a;Microsoft Transaction Server (1) MTS: Microsoft Transaction Server…

Java——IO流

一&#xff0c;IO流常識 Ⅰ&#xff0c;IO流的概述 1&#xff0c;IO流用來處理設備之間的數據傳輸 2&#xff0c;Java對數據的操作都是通過流的方式 3&#xff0c;Java用于操作流的類都在IO包中 4&#xff0c;流 按流向分為&#xff1a; ①輸入流 ②輸出流 5&#xff0…

JBE、JNBE、JA、JL指令詳解(從原理上)

JBE 當執行到JBE命令時&#xff0c;如果此時的CF標志位或者ZF標志位為1&#xff0c;跳轉&#xff0c;其他不跳轉 相當于小于等于命令 cmp eax&#xff0c;ecx jbe 0040100c執行到cmp命令時&#xff0c;如果此時的eac小于等于ecx&#xff0c;jbe都會跳轉到0040100c 因為小于的…

數組shift方法_數組shift()方法以及JavaScript中的示例

數組shift方法JavaScript shift()方法 (JavaScript shift() method) shift() method is used to remove the first element of an array and returns the deleted element. shift()方法用于刪除數組的第一個元素&#xff0c;并返回刪除的元素。 It changes the array length. …

ArcMap 9使用技巧

ArcMap 9使用技巧技巧1 重疊要素的選擇切換目標&#xff1a;在覆蓋同一區域的多個要素中切換被選擇要素操作步驟&#xff1a;1&#xff0e;在編輯環境中選中覆蓋同一區域的多個要素中的一個要素2&#xff0e;按下N 鍵&#xff0c;被選要素就會自動地切換到另一個圖層的要素3&am…

《軟件》2011年第6期刊登出 《DB 查詢分析器》中斷SQL語句的執行

《軟件》編輯部寄來了2011年第6期樣刊&#xff0c;在2011年第6期&#xff0c;刊登出了本人的論文------“《DB 查詢分析器》中斷SQL語句的執行”。 論文刊登在第42頁&#xff0c;排在第13篇&#xff0c;還比較靠前&#xff0c;呵呵。 在“萬方數據”和“中國期刊全文數據庫”中…

Java——IO流(序列流)

序列化與反序列化 游戲存檔&#xff1a;目的是為了游戲下次上號數據的保存 package com.yy.otherio;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; im…

ret2libc過地址隨機化

程序&#xff1a; #include<stdio.h> char buf2[10] "this is buf2"; void vul() {char buf1[10];gets(buf1); } void main() {write(1,"sinxx",5);vul(); }很明顯&#xff0c;gets函數存在溢出 編譯&#xff1a; gcc -no-pie -fno-stack-protect…

[導入]Lucene并發訪問

作者: yagesi 鏈接&#xff1a;http://yagesi.javaeye.com/blog/165604 發表時間: 2008年02月27日 聲明&#xff1a;本文系JavaEye網站發布的原創博客文章&#xff0c;未經作者書面許可&#xff0c;嚴禁任何網站轉載本文&#xff0c;否則必將追究法律責任&#xff01; 在Luce…

Python程序計算給定文本中單詞的出現

Given a text (paragraph) and a word whose occurrence to be found in the text/paragraph, we have to find the how many times word is repeated in the text. 給定一個文本 (段落)&#xff0c;其出現在文本/段落被找到的單詞 &#xff0c;我們必須找到如何詞多次在文本重…