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

2016-02-19 21:23 6 1 收藏

下面图老师小编跟大家分享一个简单易学的最常用的12种CSS BUG解决方法与技巧教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Web开发 】

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

  一、 针对浏览器的选择器

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


  IE6及其更低版本

  * html {}

  IE7及其更低版本

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

  仅针对IE7

  *:first-child+html {}

  IE7和当代浏览器

  htmlbody{}

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

  html/**/body{}

  Opera9及其更低版本

  html:first-child {}

  Safari

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

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

width: 300px;

height: 150px;

}   

  四、给行内元素定义宽度

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

span { width: 150px; display: block }

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

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

#wrapper {

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

margin: auto;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

position: relative;

}  

  六、IE6双倍边距的bug

  给此对象加上display:inline即可解决问题。

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

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

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

  十、图片替换技术

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

HTML:

h1spanMain 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,然后看看头部会是什么!

  十一、 最小宽度 

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

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

.container {

min-width:300px;

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

div class="container"

div class="holder"Content/div

/div 

  然后你需要定义外层div的min-width属性

 .container {

min-width:300px;

}

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

* 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 。

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

来源:http://www.tulaoshi.com/n/20160219/1626021.html

延伸阅读
标签: Web开发
一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则请参看《常用css缩写语法总结》,这里就不展开描述。 二.明确定义单位,除非值为0 忘记定义尺寸的单位是CSS新手普遍的错误。在HTML中你可以只写width=100,但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em。只...
五种最常用的智能拍摄模式   摄影除了艺术性之外,还是一种技术性的工作。在熟悉相机并具(www.tulaoshi.com)备足够耐心的基础上,还必须掌握一定的拍摄技巧,才能做到拍摄时得心应手,而拍摄时的快速应对就是在平时的实践中锻炼出来的。 数码单反摄影的基本拍摄区为摄影者提供了几种常用的场景模式选择。在初步掌握数码单反摄...
标签: Web开发
ul 标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。 同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次;对一个标签同时使用class和id进行CSS定义,如果定义有重复,id选择符做的定义有效,是因为ID的权值要比CLASS大。 一个兼容性调整(IE和Mozilla)的笨办法: 初学可能会碰到这样一个情况:同样一个标签...
标签: Web开发
  1. CSS字体定义简写规则 一般的写法会是这样: font-weight: bold;font-style: italic;font-varient: small-caps;font-size: 1em;line-height: 1.5em;font-family: verdana,sans-serif 而实际上你可以用更简洁的写法: font: bold italic small-caps 1em/1.5em verdana,sans-serif 是不是更省事?不过使用...
标签: Web开发
/*******************************************************************************/ 不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不...

经验教程

223

收藏

32
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部