挂墙架厂家
免费服务热线

Free service

hotline

010-00000000
挂墙架厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

12种CSSBUG解决方法与技能

发布时间:2019-03-13 08:24:29 阅读: 来源:挂墙架厂家

CSS bug是布局中最头疼的问题。我们需要统筹各种浏览器,以期待取得一致的效果。非常遗憾的是各厂商之间的竞争致使很多问题的存在。而IE6与 IE7在很多问题上也存在着很大的差别。在52CSS.大量的技术文档中,也包括了这方面的内容。轻松的解决CSS bug是我们必须掌握的技能。现在整理出最经常使用的12种CSS BUG解决方法和CSS BUG类的小技能。并木优电影希望对您的学习、工作有所帮助,如果您仍然有疑问,欢迎您到 52CSS.查阅、搜索相关内容。

1、 针对浏览器的选择器

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

IE6及其更低版本,本文由52CSS.整理,转载请注明出处!

* 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 [.52css.]#content-box { width: 300px;height: 150px;}

Example Source Code [.52css.]* html #content-box {width: 250px;}

您也可以参考—CSS hacks:浏览器特定选择器介绍

://.52css./p?id=635

2、让IE6支持PNG透明

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

你需要使用一个css滤镜

Example Source Code [.52css.]*html #image-style {

background-image: none;

filter:progid:phaImageLoader(src="fil

g" sizingMethod="scale");

3、移除超链接的虚线

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

Example Source Code [.52css.]outline:none.

a{outline: none;}

您也可以参考—除链接元素的虚线框(兼容IE7、IE6、FF)

://.52css./p?id=743

4、给行内元素定义宽度

如果你给一个行内元素定义宽度那末它只是在IE6下有效. 所有的HTML元素要末是行内元素要末就好是块元素. 行内元素包括:<span> <a> <strong> 和 <em>. 和 块元素包括div> 伊若裸体<p> <h1> <form>和<li>你不能定义行内元素的宽度 为了解决这个问题你可以将行内元素转变为块元素。Example Source Code [.52css.]span { 从零开始的异世界生活第二季width: 150px; display: block }

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

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

Example Source Code [.52css.]#wrapper {margin: auto;position: relative;}

6、IE6双倍边距的bug

给此对象加上display:inline便可解决问题。具体介绍:

://.52css./p?id=144

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

这是一个臭名昭著的问题了,详情参考这里:

://.52css./p?id=106

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

传说中的“IE 3px bug”,解决的办法:

://.52css./p?id=146

9、在IE中的HTML注释引发文字奇怪的复制

Duplicate Characters Bug很奇异,具体的解决办法:

://.52css./p?id=440

10、图片替换技术

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

Example Source Code [.52css.]HTML:

Main heading one

CSS:

h1 { background: url(f) no-repeat; }

h1 span {position:absolute;text-indent: -5000px;}

你可以看到我们对标题使用了标准的

作为标签并且用css来将文本替换为图片. text-indent属性将文字推到了浏览器左侧5000px处 这样对阅读者来讲就看不见了.

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

11、 最小宽度

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

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

Example Source Code [.52css.].container {min-width:300px;}

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

Example Source Code [.52css.]

Content

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

Example Source Code [.52css.].container {min-width:300px;}

这时候该是IE hack大显身手的时候专业小说全文阅读了. 你需要包括以下的代码:

Example Source Code [.52css.]* 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 bees the minimum width of the inner div.

12、隐藏水平转动条

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

Example Source Code [.52css.]body { overflow-x: hidden; }

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