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.mzph.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;我们必须找到如何词多次在文本重…