CSS中常见的BUG调试
1、布局——layout
布局是windows提出的概念,用于控制元素的尺寸和定位。
拥有布局的元素负责自身及其子元素的尺寸及定位,而没有布局的元素仅仅能依靠近期的祖先元素进行控制。
通常在IE6中出现的BUG。非常可能是由于布局的缘故而产生的,因而修复IE中BUG的时候,第一件事就是尝试通过规则迫使元素拥有布局来看是否能修复。
默认情况下拥有布局的元素包含:body、html(标准模式下)、table、tr、td、img、hr、input、select、textarea、button、iframe、embed、object、applet、marquee
通过设置CSS属性也能够迫使元素拥有布局:
1)float:left或right
2)display:inline-block
3)width:不论什么值
4)height:不论什么值
5)zoom:不论什么值
6)writing-mode:tb-rl
在IE7中,下面属性也可迫使元素拥有布局:
1)overflow:hidden、scroll或auto
2)min-width:不论什么值
3)max-width:none之外的不论什么值
在IE6中由于布局而常出现的问题包含:
1)拥有布局的元素不会收缩:即是假设元素设定了尺寸,而元素内容超过元素尺寸时,通常是内容溢出到元素外,而IE6中是将元素进行扩展以适应内容。
2)布局元素对浮动进行自己主动清理:常见的一个样例是文字环绕图片,假设文字段落拥有布局,则文字不再环绕图片。
3)相对定位的元素没有布局
4)在拥有布局的元素之间外边距不会叠加
5)在没有布局的块级链接上,单击区域仅仅覆盖文本
6)在滚动中。列表项上的背景图片间歇性的显示和消失
2、hack和过滤器
1)IE条件凝视
a)适用于IE5及其更高版本号
<!-- [if IE]
<link rel="stylesheet" type="text/css" href="ie.css" />
-->
b)适用于IE6
<!-- [if IE 6]
<link rel="stylesheet" type="text/css" href="ie.css" />
-->
c)低于IE6
<!-- [if lt IE 6]
<link rel="stylesheet" type="text/css" href="ie.css" />
-->
2)应用星号HTML hack
在IE6及其更低版本号中,有一个匿名的根元素。包围着html元素。因此能够利用该匿名根元素来讲特定的规则应用在IE6及其更低版本号的浏览器上,如
* html { width: 1px; }
3)应用子选择器hack
利用子选择器不被IE老版本号所理解的特性。创建仅仅适用于现代浏览器的规则
html>body { background-image: url(bg.png); }
仅仅有支持子选择器的浏览器才干应用该规则
3、常见BUG及其修复方法
1)双外边距浮动bug——IE6及其更低版本号
修复:将元素的display属性设置为inline
2)3像素文本偏移bug——IE6及其更低版本号
bug:当一个非浮动元素与一个浮动元素相邻时。两个元素之间会自己主动加入一个3像素的间隙
修复:方法一:将非浮动元素设置为浮动;方法二:为非浮动元素设置规则:_zoom: 1; margin-left: value; _margin-left: value-3px; (注:zoom是触公布局,而下划线是针对IE7更低版本号的hack)
3)IE6的躲猫猫bug
bug:一个浮动元素跟着一个非浮动元素,之后再跟着一个清除浮动元素,全部元素都包括在一个有背景颜色或背景图片的父元素中。非浮动元素会被父元素覆盖,又一次载入才会出现。
修复:方法一:去掉父元素的背景颜色或图片;方法二:避免清除浮动元素与浮动元素接触;方法三:给父元素指定一个行高;方法四:将浮动元素和父元素的position属性设置为relative。
4)相对定位的元素中绝对定位错误——IE6及其更低版本号
bug:相对定位的父元素中包括绝对定位的子元素。子元素定位时的參照物不是父元素而是视口。(IE6中相对定位的元素没有拥有布局)
修复:迫使相对定位父元素拥有布局(设置width或height,如 _height: 1%;)
CSS中常见的BUG调试的更多相关文章
- div+css中常见的浏览器兼容性处理-兼容不同浏览器
在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! div+cs ...
- css中常见几种float方式以及倒计时(刷新页面不清)
css中常见几种float方式 http://jingyan.baidu.com/article/72ee561a670269e16138dfd5.html <script type=" ...
- CSS中常见的布局
一.css中常见的布局有哪些? (1)两列布局 (2)三列布局 (3)弹性布局 (4)圣杯布局 (5)双飞翼布局 二.具体实现 (1)两列布局 https://www.cnblogs.com/qin ...
- css3系列-2.css中常见的样式属性和值
css3系列-2.css中常见的样式属性和值 继续上一篇文章的继续了解css的基础知识,关注我微信公众号:全栈学习笔记 css中常见的样式属性和值 字体与颜色 背景属性 文本属性 边框属性 内外边距 ...
- CSS中常见的长度单位
原文地址:https://segmentfault.com/a/1190000008934791?utm_source=tuicool&utm_medium=referral px - 像素 ...
- css中常见中文字体的英文名称
曾经看过一些文章,建议CSS中字体应用英文来替代,但一直未引起我重视.最近官网改版,今天同事测试发现Mac的Safari总是显示宋体 → → 修改font-family:"微软雅黑" ...
- css中常见的属性-----在路上(14)
一.css文字属性 color : #999999; /*文字颜色*/ font-family : 宋体,sans-serif; /*文字字体*/ font-size : 9pt; /*文字大小*/ ...
- CSS中常见的6种文本样式
前面的话 CSS文本样式是相对于内容进行的样式修饰.由于在层叠关系中,内容要高于背景.所以文本样式相对而言更加重要.有些人对文本和字体样式之间的不同不太了解,简单地讲,文本是内容,而字体则用于显示这个 ...
- CSS中常见的位置(position)属性
常用的位置属性列表: position(top.bottom.left.right) .overflow.z-index position用法: 值 描述 relative 相对定位,原位置仍占用空间 ...
随机推荐
- Python 做过哪些有趣的项目
1 icedx 241 天前 via Android ♥ 1 考虑到Windows 下的类Alfred 软件都太傻逼 自己用PyQT 写了一个 2 crazyxin19 ...
- 使用 stvd 编译STM8S 时能看到使用RAM ROM大小的方法
刚刚安装的STVD编译器,编译时候不显示用了多少RAM和ROM?对于此问题.有两个方法:一是看.map文件 还有一种是 添加一个补丁,详细操作例如以下,能够在我的资源里下载对应的文件. http:// ...
- 用php 把数组中偶数,选择出来
我有这种一个小算法,把数组中的全部的偶数或技术分别选择出来.非常多人可能,会循环这个数组,而我恰恰不循环数组就能做到这一点.代码例如以下. function odd($var) { // return ...
- WIZnet推出串口转以太网模块WIZ550S2E
WIZ550S2E 是一个网关模块,提供RS-232转TCP/IP协议功能.并可基于TCP/IP及以太网实现网络设备管理.远程測量,仅仅需用RS-232串口连接当前设备.换句话说,WIZ550S2E是 ...
- Android AES加密算法及事实上现
昨天老大叫我看看android加密算法.于是网上找了找,找到了AES加密算法.(当然还有MD5,BASE64什么的http://snowolf.iteye.com/blog/379860这篇文章列举了 ...
- JQuery - 改变css样式
jQuery提供css()的方法来实现嵌入式改变元素样式,css()方法在使用上具有多样性.其中一种接受两个输入参数:样式属性和样式值,它们之间用逗号分开.比如我们要改变链接颜色,我们可以使用下面的代 ...
- 功能间(两个form)数据交互的编程方法
功能间数据交互的编程方法 现在框架具有在两个打开的功能之间进行通讯的机制.通讯是指,一个功能调用另外一个功能的方法,或者传递一些数据,并得到返回结果.比如处置单打开结算单,结算单保存后,将结算单号反填 ...
- Android NumberPicker和DatePicker分割线颜色设置
NumberPicker /** * * 设置选择器的分割线颜色 * * @param numberPicker */ private void setDatePickerDividerColor(N ...
- OC中多线程的一些概念
1.进程1.1>进程是指在系统中正在运行的一个应用程序(同时打开QQ和Xcode,系统会分别启动2个进程)1.2>每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存空间内 2.线 ...
- KMP算法原理与实现(精简)
思想:使源字符串中的下标不回溯,利用模式字符串自身的相关性,减少模式字符串中下标回溯的距离.从而减少比较的次数. 关键问题: 分析模式字符串,得出 部分匹配值数组. 原理参考此处. 具体实现: #in ...