css浏览器兼容问题

2023-05-16


1. CSS中几种浏览器对不同关键字的支持,可进行浏览器兼容性重复定义 !important 可被FireFox和IE7识别 * 可被IE6、IE7识别 _ 可被IE6识别 *+ 可被IE7识别
区别IE6与FF: background:orange;*background:blue;
区别IE6与IE7: background:green !important;background:blue;
区别IE7与FF: background:orange; *background:green;
区别FF,IE7,IE6: background:orange;*background:green !important;*background:blue;
IE7,IE8兼容: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
最新兼容方案如下:
.e{
color:#FFF;/* FF,OP */
[;color:#0F0;]/* Sa,CH */
color:#FFF\9;/*IE6、7、8*/
*color:#FF0;/* IE7、6 */
_color:#F00;/* IE6 */
}
2. 应用条件注释,因为IE各版本的浏览器对我们制作的WEB标准的页面解释不一样,具体就是对CSS的解释不同,我们为了兼容这些,可运用条件注释来各自定义,最终达到兼容的目的。

比如:
<!– 默认先调用css.css样式表 –>
<link rel="stylesheet" type="text/css" href="css.css" />
<!–[if IE 7]>
<!– 如果IE浏览器版是7,调用ie7.css样式表 –>
<link rel="stylesheet" type="text/css" href="ie7.css" />
<![endif]–>
<!–[if lte IE 6]>
<!– 如果IE浏览器版本小于等于6,调用ie.css样式表 –>
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]–>
这其中就区分了IE7和IE6向下的浏览器对CSS的执行,达到兼容的目的。同时,首行默认的css.css还能与其他非IE浏览器实现兼容。
注意:默认的CSS样式应该位于HTML文档的首行,进行条件注释判断的所有内容必须位于该默认样式之后。

3. 几个浏览器对实际像素的解释 IE/Opera:对象的实际宽度 = (margin-left) + width + (margin-right) Firefox/Mozilla:对象的实际宽度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width) + (margin-right)
4. 鼠标手势问题:FireFox的cursor属性不支持hand,但是支持pointer,IE两个都支持;所以为了兼容都用pointer
5. FireFox中设置HTML标签的Style属性时,所有位置、宽高和尺寸值必须后跟px,IE也支持此写法,因此统一加px单位。如 Obj.Style.Height = imgObj.Style.Height + ‘px';
6. FireFox无法解析简写的padding属性设置,如padding 5px 4px 3px 1px;必须改为 padding-top:5px; padding-right:4px; padding-bottom:3px; padding-left:1px0;
7. 消除ul、ol等列表的缩进时,样式应写成:list-style:none;margin:0px;padding:0px;其中margin属性对IE有效,padding属性对FireFox有效
8. CSS控制透明:IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60); FireFox:opacity:0.6;
9. CSS控制圆角:IE:不支持圆角; FireFox: -moz-border-radius:4px;或 -moz-border-radius-topleft:4px; -moz-border-radius-topright:4px; -moz-border-radius-bottomleft:4px; -moz-border-radius- bottomright:4px;
10. CSS双线凹凸边框:IE:border:2px outset; FireFox: -moz-border-top-colors: #d4d0c8 white; -moz-border-left-colors: #d4d0c8 white; -moz-border-right-colors:#404040 #808080; -moz-border-bottom-colors:#404040 #808080;
11. IE支持CSS方法cursor:url()自定义光标样式文件和滚动条颜色风格;FireFox对以上两者均不支持
12. IE有Select控件永远处于最上层的bug,且所有CSS对Select控件都不起作用
13. IE支持Form中的Label标签,包括图片和文字内容;FireFox不支持包含图片的Label,点击图片不能让标记 label for 的Radio或CheckBox产生效果
14. FireFox中的TextArea不支持onScroll事件
15. FireFox不支持display的inline和block
16. FireFox对Div设置margin-left, margin-right为auto时已经居中, IE中不行
17. FireFox对Body设置text-align时, Div需要设置margin: auto(主要是margin-left margin-right) 方可居中
18. 对超链接的CSS样式设置最好遵从这样的顺序:L-V-H-A。即 <style type="text/css"> <!-- a:link {} a:visited {} a:hover {} a:active {} --> </style> 这样可以避免一些访问过后的超链接就不具备hover和active样式了
19. IE中设置长段落自动换行在CSS中设置word-wrap:break-word;FireFox中使用JS插入 的方法来实现,具体代码如下:
<script type="text/javascript">
/* <![CDATA[ */ function toBreakWord(el, intLen){ var obj=document.getElementById(el); var strContent=obj.innerHTML; var strTemp=""; while(strContent.length>intLen){ strTemp+=strContent.substr(0,intLen)+" "; strContent=strContent.substr(intLen,strContent.length); } strTemp+=" "+strContent; obj.innerHTML=strTemp; } if(document.getElementById && !document.all) toBreakWord("div_id", 37); /* ]]> */
</script>
20. 在子容器加了浮动属性后,该容器将不能自动撑开解决方法:在标签结束后下一个标签中加上一个清除浮动的CSS clear:both;
21. 浮动后IE6解释外边距为实际边距的双倍 解决办法:加上display:inline
22. IE6下图片下方会有空隙 解决办法:为img加上display:block或设置vertical-align 属性为vertical-align:top | bottom |middle |text-bottom
23. IE6下两个层中间有空隙 解决办法:设置右侧div也同样浮动float:left或者相对IE6定义 margin-right:-3px;
24. LI中内容超过长度后以省略号的显示方法 <style type="text/css"> <!-- li { width:200px; white-space:nowrap; text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; } --> </style> (只适用与IE)
25. 将元素的高度和行高设为相同值,即可垂直居中文本 <style type="text/css"> <!-- div { height:30px; line-height:30px; } --> </style>
26. 对齐文本与文本输入框,须在CSS中增加vertical-align:middle;属性设置 <style type="text/css"> <!-- … … vertical-align:middle; } --> </style>
27. 支持WEB标准的浏览器设置了固定高度值就不会像IE6那样被撑开,但是又想设置固定高度又想能够被撑开呢?解决办法是去掉height属性而设置min-height,为了兼容不支持min-height的IE6可以这样定义: { height:auto!important; height:200px; min-height:200px; }
28. web标准中IE无法设置滚动条颜色 解决办法:在CSS中对body的设置改为对html的 <style type="text/css"> <!-- html { scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee; scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000; scrollbar-track-color:#fff; scrollbar-darkshadow-color:#fff; } --> </style>
29. IE6由于默认行高问题无法定义1px左右高度的容器,解决办法:在CSS中对容器设置如:overflow:hidden | zoom:0.08 | line-height:1px
30. 给Flash设置透明属性可使层显示在Flash之上 <param name="wmode" value="transparent" /> <!-- 解决IE上的问题 //> <embed wmode="transparent" …… > <!-- 解决FireFox上的问题 //>
31. FireFox设置Padding属性后会相应的增加Width和Height属性值,IE不会解决办法:用!important方法多定义一套Height和Width
32. FireFox对div与div之间的空格是忽略的,但IE是处理的;因此尽量在两个相连的div之间不要有空格和回车,否则可能会造成不同浏览器之间格式不正确,比如著名的3px偏差;而且原因很难查明
33. 形如如下格式 <div id="parent"> <div id="content"> </div> </div> 当Content内容多时,即使parent设置了高度100%或auto,在不同浏览器下还是不能完好的自动伸展;解决办法在层的最下方产生一个高度为1的空格,代码如下 <div id="parent"> <div id="content"> </div> <div style="font: 0px/0px sans-serif;clear: both;display: block"> </div> </div>
34. IE和FireFox对字体small的尺寸解释不同,FireFox为13px,IE中为16px
35. IE和FireFox对空格的尺寸解释不同,FireFox为4px,IE中为8px  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

css浏览器兼容问题 的相关文章

  • 我可以使用 ASP.NET WebForms 母版页在每个内容页中包含不同的 javascript/css 文件吗?

    我有几个使用相同母版页的内容页 它们并不都需要包含在相同的 javascript 和 css 文件中 tag 是否可以更改内容来自内容页面的标签 确实如此 但我建议采取一些不同的做法 我在关闭正文标签的正上方放置了一个内容占位符 然后我填充
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • 将图像编码为base64有什么效果?

    如果我将图像 jpg 或 png 转换为 base64 那么它会更大 还是具有相同的大小 会大多少呢 是否建议在我的网站上使用 Base64 编码的图像 大约会大 37 非常粗略地说 Base64 编码的二进制数据的最终大小等于原始数据大小
  • LESS CSS 语法对现代化很有用

    通常我使用现代化 http modernizr com 了解浏览器的功能 同时 我用LESS CSS http lesscss org 使我的CSS更具可读性和可维护性 使用 LESS 嵌套规则的常见样式如下所示 header color
  • iPad - 无法在框架内滚动

    我无法滚动 iPad Safari 中框架内调用的 pdf 我已经尝试过两件事 2 指滚动 使用对象 嵌入代替框架 但这是行不通的 事实上我已经尝试了很多东西 溢出 高度等等 请帮我 先感谢您 根据这篇文章http support appl
  • 闪亮的应用程序包:css 和所有 www/ 目录内容

    我正在尝试将 Shiny 应用程序转换为 R 包 但我在处理有关 www 目录以及 松散 文件的所有问题时遇到了问题 我闪亮的应用程序运行得很好 但是当我尝试 打包它 时 它不起作用 我闪亮的应用程序目录 my shiny app R ut
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • 使 Material UI Grid 项目的子项拉伸以适合父容器的剩余高度

    1 现状 我有一个包含 4 个网格项的 Material UI 网格容器 每个 Grid 项中都有一个 Typography 组件 其中包含标题和包含一些内容的 Card 如下所示 2 期望的外观 我希望卡片填充网格项目的剩余高度并且不超过
  • CSS - div 与父 div 底部对齐(内联块)

    我知道这个 html 很草率 有一些不必要的额外 div 但无论如何 我无法理解为什么 ID 为 info box right 的 div 与父 div 的底部对齐 您可以看到 文本 与下面的 jsfiddle 示例的底部 有什么想法可以让
  • 固定宽度可变高度网格CSS

    我们如何在网格布局中实现固定宽度和可变高度 就像www pinterest com http www pinterest com主页布局 我认为他们正在使用 Javascript 只是想知道是否还有其他方法 只需使用float left不管
  • 增加数字输入、CSS、HTML 上的向下和向上箭头的大小

    有没有办法利用CSS来增大数字输入框右侧的上下箭头的大小 只是向上和向下箭头 而不是整个输入框 或者至少是按比例的 看这个例子 size 36 font size 36px size 12 font size 12px
  • CSS:水平滚动时背景不存在

    好的 我的背景设置如下 HTML div div CONTENT HERE div div CSS container background url image gif content width 800px margin auto 因此
  • 如何倾斜 div 并保持背景图像不倾斜

    我已经花了几个小时了 所以希望有人能提供帮助 我有一个网站 其中大部分 div 都是倾斜的 大多数 div 都包含背景图像 现在我已经让 div 倾斜了 内容完美地位于其中 唯一的问题是背景图像 它与父级一起倾斜 我用谷歌搜索了很多 但找不
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 如何将此 HTML 表格布局解决方案转换为浮动 div 解决方案?

    我经常需要列出各种尺寸的项目images在左边和text在右边 像这样 替代文本 http www deviantsart com upload 7s01l5 png http www deviantsart com upload 7s01
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • 显示覆盖以覆盖整个页面

    我有一个正在加载的网络应用程序iframe 我需要显示一个覆盖 div 来覆盖整个页面 问题是叠加层当前仅显示在iframe区域而不覆盖整个页面 我们的应用程序 子应用程序 是加载的一组应用程序的一部分iframe 你可以做这样的事情 di
  • HTML 默认图像大小

    我在我的代码上显示 3 张图片 图片具有不同的尺寸 宽度和高度 div class row div class col lg 12 h2 class page header Gallery h2 div div class col md 4

随机推荐

  • Ubuntu18.04 qt5.14安装

    1 下载qt5 14 2 链接Index of archive qt 2 安装 打开终端 xff0c 进入安装包目录 xff0c 给安装包rwx权限 chmod 777 qt opensource linux x64 5 14 2 run
  • 面试题集锦-JVM

    JVM 1 说一下 JVM 的主要组成部分 xff1f 及其作用 xff1f 2 说一下 JVM 运行时数据区 xff1f 3 说一下堆栈的区别 xff1f 4 队列和栈是什么 xff1f 有什么区别 xff1f 5 什么是双亲委派模型 x
  • eclipse快捷键

    ctrl 43 t 查看接口实现类 ctrl 43 shif 43 t 快速查找某个类 包括jar中类 ctrl 43 shift 43 r 快速查找工作空间中项目的类
  • short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

    答 xff1a 对于short s1 61 1 s1 61 s1 43 1 由于1是int类型 xff0c 因此s1 43 1运算结果也是int 型 xff0c 需要强制转换类型才能赋值给short型 而short s1 61 1 s1 4
  • int和Integer有什么区别

    答 xff1a Java是一个近乎纯洁的面向对象编程语言 xff0c 但是为了编程的方便还是引入了基本数据类型 xff0c 但是为了能够将这些基本数据类型当成对象操作 xff0c Java为每一个基本数据类型都引入了对应的包装类型 xff0
  • Java 中 Equals和==的区别

    在谈论equals和 61 61 的区别前 xff0c 我们先简单介绍一下JVM中内存分配的问题 在JVM中 内存分为栈内存和堆内存 二者有什么区别呢 xff1f 当我们创建一个对象 xff08 new Object xff09 时 xff
  • 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

    答 xff1a 是值传递 Java语言的方法调用只支持参数的值传递 当一个对象实例作为一个参数被传递到方法中时 xff0c 参数的值就是对该对象的引用 对象的属性可以在被调用过程中被改变 xff0c 但对对象引用的改变是不会影响到调用者的
  • 什么情况下用+运算符进行字符串连接比调用StringBuilder对象的append方法连接字符串性能更好?

    经常在网上看到或者在周围听到有人说字符串拼接不要直接用 String 相加 xff0c StringBuilder 的效率要比 String 直接相加拼接要高 还有人常说 xff0c StringBuffer 是同步的 xff08 线程安全
  • 解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

    答 xff1a 通常我们定义一个基本数据类型的变量 xff0c 一个对象的引用 xff0c 还有就是函数调用的现场保存都使用内存中的栈空间 xff1b 而通过new关键字和构造器创建的对象放在堆空间 xff1b 程序中的字面量 xff08
  • Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

    Math round 11 5 的返回值是12 xff0c Math round 11 5 的返回值是 11 四舍五入的原理是在参数上加0 5然后进行下取整 所谓向上取整指当计算的结果不为整数时取大于计算结果的整数 向下取整指当计算的结果不
  • Spring注入详解

    注入方式 构造函数注入 public class UserServiceImpl implents UserService private UserDao userDao 64 Autowire public UserServiceImpl
  • yml文件

    YAML文件简介 我们可能在spring配置文件里见到过 yml格式的东东 xff0c 配置文件不都是 propertie或者 xml文件吗 xff1f yml是什么鬼 xff0c 今天我带你们来一探究竟 YAML xff08 Yet An
  • YAML 语言教程

    作者 xff1a 阮一峰 日期 xff1a 2016年7月 4日 编程免不了要写配置文件 xff0c 怎么写配置也是一门学问 YAML 是专门用来写配置文件的语言 xff0c 非常简洁和强大 xff0c 远比 JSON 格式方便 本文介绍
  • 如何解决idea的Could not autowire. No beans of 'xxxx' type found

    打开设置setting 在左侧找到Editor xff0c 然后选择 Inspections 在右侧的搜索框下面 xff0c 找到SPRING那块 xff0c 然后找到spring的核心包 xff0c 选中spring core 找到cod
  • IntelliJ IDEA中绿色注释扫描飘红报错解决

    在IDEA中的setting中搜索 34 javadoc 34 基本上 xff0c 绿色注释飘红的问题是解决了 xff1b
  • Windows10在当前目录快速打开cmd的方法

    1 按住Shift键 xff0c 鼠标右键快捷方式 xff0c 先打开Powershell窗口 2 输入 start cmd 回车 3 这样就可以打开cmd窗口了 xff0c 并且cmd的工作目录就是当前的目录
  • marvn 环境变量配置

    1 首先下载maven xff0c 下载地址 xff1a http maven apache org download html 打开这个连接 xff1a 选择File下面的apache maven 3 2 1 bin zip链接进行下载
  • mvn命令

    在pom xml目录下 打开cmd xff0c 输入mvn命令 1 mvn dependency tree 打印项目的依赖树到控制台 mvn dependency tree gt gt D tree txt 导出依赖树到指定文件 2 mvn
  • cmd命令

    1 创建多级目录 md mkdir 目录1 目录2 目录3 C Users xxx gt pushd d D gt md 1 2 3 4 D gt pushd D 1 2 3 4 D 1 2 3 4 gt 2 pushd POPD push
  • css浏览器兼容问题

    1 CSS中几种浏览器对不同关键字的支持 xff0c 可进行浏览器兼容性重复定义 important 可被FireFox和IE7识别 可被IE6 IE7识别 可被IE6识别 43 可被IE7识别 区别IE6与FF xff1a backgro