最常用的12种CSS BUG解决方法与技巧

最常用的12种CSS BUG解决方法与技巧
一、 针对浏览器的选择器

  这些选择器在你需要针对某款浏览器进行css设计时将非常有用.

  IE6及其更低版本

  * html {}

  IE7及其更低版本

  *:first-child+html {} * html {}

  仅针对IE7

  *:first-child+html {}

  IE7和当代浏览器

  html>body{}

  仅当代浏览器(IE7不适用)

  html>/**/body{}

  Opera9及其更低版本

  html:first-child {}

  Safari

  html[xmlns*=""] body:last-child {}

  要使用这些选择器,请将它们放在样式之前. 例如:

Example Source Code

#content-box {

width: 300px;

height: 150px;

}

Example Source Code

* html #content-box {

width: 250px;

}

二、让IE6支持PNG透明

  一个IE6的Bug引起了大麻烦, 他不支持透明的PNG图片。

  你需要使用一个css滤镜

Example Source Code

*html #image-style {

background-image: none;

filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="fil

ename.png", sizingMethod="scale");

}

三、移除超链接的虚线

  FireFox下,当你点击一个超链接时会在外围出现一个虚线轮廓. 这很容易解决, 只需要在标签样式中加入:本文由52CSS.com整理,转载请注明出处!

Example Source Code

outline:none.

a{

outline: none;

}

四、给行内元素定义宽度

  如果你给一个行内元素定义宽度,那么它只是在IE6下有效. 所有的HTML元素要么是行内元素要么就好是块元素. 行内元素包括: <span>, <a>, <strong> 和 <em>. 块元素包括<div>, <p>, <h1>, <form>和<li> . 你不能定义行内元素的宽度, 为了解决这个问题你可以将行内元素转变为块元素.

Example Source Code

span { width: 150px; display: block }

五、让固定宽度的页面居中

  为了让页面在浏览器居中显示, 需要相对定位外层div, 然后把margin设置为auto.

Example Source Code

#wrapper {

margin: auto;

position: relative;

}

六、IE6双倍边距的bug

 

七、Box Model 盒模型bug的一般解决办法

 

八、两个层之间的3px间隙

九、在IE中的HTML注释引起文字奇怪的复制

十、图片替换技术

  用文字总比用图片做标题好一些. 文字对屏幕阅读机和SEO都是非常友好的.

Example Source Code

HTML:

<h1><span>Main heading one</span></h1>

CSS:

h1 { background: url(heading-image.gif) no-repeat; }

h1 span {

position:absolute;

text-indent: -5000px;

}

  你可以看到我们对标题使用了标准的<h1>作为标签并且用css来将文本替换为图片. text-indent属性将文字推到了浏览器左边5000px处, 这样对于浏览者来说就看不见了.

  关掉css,然后看看头部会是什么样子的.本文由52CSS.com整理,转载请注明出处!

十一、 最小宽度

  IE6另外一个bug就是它不支持 min-width 属性. min-width又是相当有用的, 特别是对于弹性模板来说, 它们有一个100%的宽度,min-width 可以告诉浏览器何时就不要再压缩宽度了.

除IE6以外所有的浏览器你只需要一个 min-width: Xpx; 例如:

Example Source Code

.container {

min-width:300px;

}

  为了让他在IE6下工作, 我们需要一些额外的工作. 开始的时候我们需要创建两个div, 一个包含另一个:

Example Source Code

<div class="container">

<div class="holder">Content</div>

</div>

  然后你需要定义外层div的min-width属性,本文由52CSS.com整理,转载请注明出处!

Example Source Code

.container {

min-width:300px;

}

这时该是IE hack大显身手的时候了. 你需要包含如下的代码:

Example Source Code

* html .container {

border-right: 300px solid #FFF;

}

* html .holder {

display: inline-block;

position: relative;

margin-right: -300px;

}

  As the browser window is resized the outer div width reduces to suit until it shrinks to the border width, at which point it will not shrink any further. The holder div follows suit and also stops shrinking. The outer div border width becomes the minimum width of the inner div.

十二、隐藏水平滚动条

  为了避免出现水平滚动条, 在body里加入 overflow-x:hidden .

Example Source Code

body { overflow-x: hidden; }

  当你决定使用一个比浏览器窗口大的图片或者flash时, 这个技巧将非常有用

时间: 2024-09-12 14:43:02

最常用的12种CSS BUG解决方法与技巧的相关文章

常用的10种CSS BUG解决方法与技巧

最常用的10种CSS BUG解决方法与技巧-浏览器兼容教程 CSS bug是布局中最头疼的问题.我们需要兼顾各种浏览器,以期待获得一致的效果. 非常遗憾的是各厂商之间的竞争导致很多问题的存在.而IE6与IE7在很多问题上也存在着很大的差别. 轻松的解决CSS bug是我们必须掌握的技能.现在整理出最常用的12种CSS BUG解决方法以及CSS BUG类的小技巧. 希望对您的学习.工作有所帮助,如果您依然有疑问, 一. 针对浏览器的选择器 这些选择器在你需要针对某款浏览器进行css设计时将非常有用

IE6图片加载的一个BUG解决方法_javascript技巧

代码如下: 复制代码 代码如下: <!--[if IE 6]><script type="text/javascript"> try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} </script><![endif]--> 注:这个BUG以前就已经发现了,这里只是再次提出来. 更详细的说明可以参考下面的文章:IE6下默认不缓存背景图片,

IE8中使用javascript动态加载CSS的解决方法_javascript技巧

众所周知做前端开发的都恨不得踹IE开发者几脚,IE开发者名声之差不低于GFW开发者,昧着良心搞坏市场,人人得而诛之,但是在中国这些地方市场占有率摆在那里,没办法只能向现实低头. 最近我们产品需要在浏览器里动态载入一段CSS,以前的代码是直接用的: 复制代码 代码如下: var bubbleCss = document.createElement('style');bubbleCss.type = 'text/css';bubbleCss.innerHTML = blc_conf.bubbleSt

PHP iconv 函数转gb2312的bug解决方法_php技巧

iconv( "UTF-8", "gb2312//IGNORE" , $FormValues['a']) ignore的意思是忽略转换时的错误,发现iconv在转换字符"-"到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存. 另外mb_convert_encoding没有这个bug,所以最好的写法是: mb_convert_encoding($FormValues['a'], "gb2312"

fleaphp rolesNameField bug解决方法_php技巧

复制代码 代码如下: function fetchRoles($user) { if ($this->existsLink($this->rolesField)) { $link =& $this->getLink($this->rolesField); $rolenameField = $link->assocTDG->rolesNameField; } else { $rolenameField = 'rolename'; } if (!isset($use

ie focus bug 解决方法_javascript技巧

如果把input.focus()放在一个setTimeout中延时执行,则就可以获得焦点. 复制代码 代码如下: <script type="text/javascript" > (function(){ function get(id){ return document.getElementById(id); } window.onload = function(){ get('makeinput').onmousedown = function(){ var input

DIV+CSS页面布局中BUG解决方法

DIV+CSS布局中,出现BUG之后,可以考虑从以下几方面检查. 一.检查页面的标签是否闭合 不要小看这条,也许折腾了你两天都没有解决的 CSS BUG 问题,却仅仅源于这里.毕竟页面的模板一般都是由开发来嵌套的,而他们很容易犯此类问题. 快捷提示:可以用 Dreamweaver 打开文件检查,一般没有闭合的标签,会黄色背景高亮. 二.样式排除法 有些复杂的页面也许加载了 N 个外链 CSS 文件,那么逐个删除 CSS 文件,找到 BUG 触发的具体 CSS 文件,缩小锁定的范围. 对于刚才锁定

win7系统突然重启的八种原因和解决方法

win7系统突然重启的八种原因和解决方法   1.病毒 ,解决方法:清除病毒,木马. 2.电压不稳,当市电电压低于170V时,计算机就会自动重启或关机,机箱电源功率不足,当运行占用CPU资源较大的大型的3D游戏或软件时,CPU 需要大功率供电,电源功率不够而超载就会电源保护而自动重启.解决方法:换成高质量大功率130-260V的宽幅开关电源. 3.内存出现松动,热稳定性不良.芯片损坏或者设置错误也会造成重启.解决方法:重插内存或换个插槽,加大内存,更换质量高的内存. 4.系统文件被破坏造成系统启

ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法_javascript技巧

这是一个小bug,解决方法有两种:根据做的东西不同选择不同的 <ion-nav-bar class="bar-positive"> <ion-nav-back-button class="button-icon ion-arrow-left-c"> </ion-nav-back-button> <h2>helloafds</h2> </ion-nav-bar> <ion-header-ba