HTML&CSS兼容性总结
对目前所遇见的兼容性笔记进行整理分类:
| 不兼容浏览器 | 问题概要 | 问题描述 | 解决方法 |
| IE6,IE7 | 3px | 并列一行的元素左侧第一个元素没浮动,第二个元素左浮动, 则两个元素之间会多3像素空隙 |
并在一行的元素如果有一个元素有浮动,则都加浮动 |
| IE6,IE7 | 下折行 | 并列一行的元素左侧元素没浮动,右侧元素右浮动,则右侧浮动元素向下折行 | 并在一行的元素如果有一个元素有浮动,则都加浮动 |
| IE6 | 双边距 | 块属性标签浮动,并且有横向margin值,横向margin加倍 | 块元素添加display:inline |
| IE6,IE7 | li | li无浮动,li内部元素有浮动,li下会多出来3px左右的间隙 | 给li添加vertical-align:top 或给li添加浮动 |
| IE6 | 最小高度 | 最小高度不小于19px | 设置 overflow:hidden得到高度为设置的height |
| IE6 | 最小高度+li | 当最小高度问题和 li 的间隙问题共存的时候 | 只能给li添加浮动,且添加overflow:hidden |
| IE6,IE7 | 图片间隙 | 图片下有间隙 | 给图片添加vertical-align |
| IE6 | margin消失 | 当一行子元素占有的宽度之和,和父级的宽度相差超过3px,或者有不满行状态的时候,最后一行子元素的下margin在IE6下就会失效 | 尽量避免该情况 |
| IE6 | 文字溢出 | 子元素的宽度和父级的宽度相差小于3px的时候,两个浮动元素中间有注释或者内嵌元素文字莫名其妙多出几个 | 用div把注释或者内嵌元素包起来 |
| IE6 | 浮动与绝对定位 | 当浮动元素和绝对定位元素是并列关系的时候,在IE6下绝对定位元素会消失 | 把绝对定位元素套个div,或在添加zoom:1;触发layout |
| IE6 | Fiexd | 不支持固定定位 position:fiexd; | 需要配合JS计算滚动尺寸实现兼容 |
| IE6 | 溢出 | 父级的 overflow:hidden; 包不住子级的relative; | 给父级也添加relative |
| IE6 | 1px | 定位元素的父级宽高都为奇数那么定位元素的 right 和 bottom 都有1像素的偏差。 | 尽量避免改情况 |
| IE6,IE7 | 表单高度 | 表单元素select/option 下拉选框 对高度的支持不兼容 | 通常不设置高度 |
| IE6,IE7 | textarea | 各个浏览器下的默认滚动条显示不兼容 | 添加 overflow:auto; |
| IE6,IE7 | textarea | css3新增 resize 调整尺寸属性; | resize:none; 不能自由拖动改变尺寸, |
| IE6 | input背景滚动 | input背景随着内容增多而移动 | 在input外面添加一个div,div上设置背景,或者添加给其父级,input全部透明 |
| IE6 | 撑开父级宽度 | 子级宽度如果超过父级宽度,会撑开父级宽度,而其它浏览器不会撑开父级宽度 | 需要精确计算好 |
| IE6 | Fiexd | 不支持固定定位 position:fiexd; | 需要配合JS计算滚动尺寸实现兼容 |
| IE6 | 溢出 | 父级的 overflow:hidden; 包不住子级的relative; | 给父级也添加relative |
| IE6 | 1px | 定位元素的父级宽高都为奇数那么定位元素的 right 和 bottom 都有1像素的偏差。 | 尽量避免改情况 |
| IE6,IE7 | 表单高度 | 表单元素select/option 下拉选框 对高度的支持不兼容 | 通常不设置高度 |
| IE6,IE7 | textarea | 各个浏览器下的默认滚动条显示不兼容 | 添加 overflow:auto; |
| IE6,IE7 | textarea | css3新增 resize 调整尺寸属性; | resize:none; 不能自由拖动改变尺寸, |
| IE6 | input背景滚动 | input背景随着内容增多而移动 | 在input外面添加一个div,div上设置背景,或者添加给其父级,input全部透明 |
| IE6 | 撑开父级宽度 | 子级宽度如果超过父级宽度,会撑开父级宽度,而其它浏览器不会撑开父级宽度 | 需要精确计算好 |
| IE6 | 子集宽度撑满父级 | 父级元素浮动,如果要求子集元素宽度内容撑开,就给里面的子集块元素都加浮动,不然子集元素会撑到父级设置的宽度 | |
| IE6 | dotted | 1px dotted 在IE6下不支持 | 切图片背景平铺 |
| IE6 | margin消失 | 父级有边框的时候,子元素的margin值消失 | 触发父级的haslayout |
| IE6 | margin传递 | 有时候子级的margin值会传递到父级上 | 触发父级的haslayout |
| IE6,IE7 | 表单背景 | 如果tr于thead或tbody同时有背景,则thead和tbody的背景会消失 | 尽量避免 |
| IE6,IE7 | input border | 输入类型的表单控件加border:none;无效,,依然会有边框。 | 重置input的背景 |
| IE6 | PNG半透明 | PNG半透明图片在IE6下不起作用 | 解决方案:采用专属IE6的js插件 DD_belatedPNG_0.0.8a.js |
| PNG半透明图片会有从整个页面左上角掉下划入的情况 | 在其父级添加 相对定位 position:relative; | ||
| PNG半透明背景图尽量不要处理鼠标移入的背景图,会出现闪动的情况, | 移入之前都设定PNG半透明背景图,不过位置需要移出标签外,当鼠标移入后,将背景图移回原位。 | ||
| IE6 | !important | 在!Important 后边再加一条同样的样式,会破坏掉 !important的作用,会按照默认的优先级顺序来走。 | 尽量避免 |
HTML&CSS兼容性总结的更多相关文章
- css兼容性问题的整理
css兼容性问题的整理 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白1 ...
- CSS兼容性详解
前面的话 对于前端工程师来说,不想面对又不得不面对的一个问题就是兼容性.在几年之前,处理兼容性,一般地就是处理IE低版本浏览器的兼容性.而近几年,随着移动端的发展,工程师也需要注意手机兼容性了.本文将 ...
- css 兼容性问题,整理
css 兼容性问题,整理: css 兼容性问题 说明 <input type="number"> 在chrome下,是不能输入非数字的字符的:但是在火狐63.0.3(2 ...
- IE和Firefox浏览器CSS兼容性技巧整理
转自:http://homepage.yesky.com/185/11484185all.shtml#p11484185 CSS兼容常用技巧(1) 更多精彩相关文章推荐: 各大浏览器 CSS3 和 H ...
- CSS 兼容性支持
CSS 兼容性支持 在一个CSS属性还没有成为标准之前,各浏览器厂商已经做了这个属性的实现,可能各浏览器实现不尽相同,所以加入属性前缀区分. safari , chrome:-webkit- oper ...
- 浏览器对DIV+CSS兼容性问题大总结
浏览器对DIV+CSS兼容性问题大总结 接触DIV+CSS架构已经快两年了,个人觉得css入门不难,但要学精并非一朝一夕的,现在大部分网络公司都比较主张用div+css来布局,这就面临着一个比较难的问 ...
- 解决css兼容性
关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HA ...
- 前端css兼容性与易混淆的点
一.常用的骨灰级清除浮动 .clearfix:after { content: "."; display: block; height:; clear: both; visibil ...
- IE7,6与Fireofx的CSS兼容性处理方法集结
CSS对浏览器的兼容性有时让人很头疼,尤其是对于IE6这个问题多多的浏览器版本,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码 ...
- IE6 7下常见CSS兼容性处理
以下是一些比较常见的IE6 7下的兼容性问题. 在当下这个时代,其实我们几乎可以不用再去针对IE6做兼容性的处理,除非你的公司还是诡异的要求你兼容到IE6.但是了解一些常见的兼容性问题还是可以帮助我们 ...
随机推荐
- play框架之简介
Play Framework是一个开源的Web框架,背后商业公司是Typesafe.要介绍Play之前,首先理清Play的两个不同的分支. Play 1.x 使用Java开发,最新版本是1.3.1,只 ...
- spark streaming 接收kafka消息之三 -- kafka broker 如何处理 fetch 请求
首先看一下 KafkaServer 这个类的声明: Represents the lifecycle of a single Kafka broker. Handles all functionali ...
- JAVA8之lambda表达式详解
原文:http://blog.csdn.net/jinzhencs/article/details/50748202 lambda表达式详解 一.问题 1.什么是lambda表达式? 2.lambda ...
- CentOS 7 时区设置 timedatectl
[root@testandy ~]# timedatectl --help timedatectl [OPTIONS...] COMMAND ... Query or change system ti ...
- Fire! UVA - 11624 (两步bfs)
题目链接 题意 人要从迷宫走出去,火会向四个方向同时扩散 分析 两步bfs,先出火到达各地时的时间(设初始时间为0,人每走一步为1s,在着一步内火可以向四周可触及的方向同时扩散),然后在bfs人,人能 ...
- 透视BlueStore存储结构:如何根据文件名从裸盘提取文件内容
在FileStore下,用户文件经过切分对象块后最终存放在了单机文件系统(xfs .ext4等)中,我们可以较容易地找到这些对象块对应的文件,然后提取这些对象块文件后组装成用户文件.然而,BlueSt ...
- Arrays工具类常用方法演示
java.util.Arrays是JDK中操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法. 下面我们以int类型数组为例,学习下常用的方法,其他类型数组都差不多. 1.equals( ...
- MySQL之基础操作
一.安装 Mysql是最流行的关系型数据库管理系统之一,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数 ...
- 在xcode中新建项目使用Image.xcassets时不显示自定义图片
这个很简单,先在Images.xcassets中设置一个LaunchImage,然后再项目设置的general-->App Icons and Launch Images-->Launch ...
- 【深入浅出-JVM】(4):编译 jdk
环境 mac,xcode,jdk8,openjdk,autoconf 步骤 安装autoconf brew install autoconf 下载openjdk源码 git clone https:/ ...