导航

yaosansi's Blog

当你背向太阳的时候,你只会看到自己的阴影!能力是有限的,努力无限的!

« 什么是XSLT巧用*.UDL文件,获取数据库连接字符串[oledb方式] »

CSS中的!important

  • 本站大部分内容从网上收集,收集目的仅供研究、学习。涉及版权或不希望收录您的文章请您及时与我联系。
  • 本站IM群,请自行选择。请各位朋友按照自己喜好加入。加入群后请及时发言,防止被清理。谢谢您的合作!!!
  • QQ群:Y①WEB开发(ASP.NET)号码:7351660 QQ群:Y②WEB开发(ASP+.NET)号码:11864905
  • QQ群:Y③WEB开发(DIV+CSS)号码:16610506 QQ群:Y④WEB开发(JS+AJAX)号码:16143998
  • QQ群:Y⑤WEB开发(新手)号码:12777715 MSN群:yaosansi[at]126.com
其实以前在设计页面编辑CSS时就知道使用!important可以在IE和非IE核心浏览器中使用不同的样式,今天在制作一个网页的样式表时,又想到这个问题,就Google了一下,终于搞清楚了这个问题。
  在IE中对盒模型(box-model)的解释是有BUG的,IE6.0之前的版本会把某元素的边框值和填充值包含在宽度之内(而不是加在宽度值上)。例如,你可能会使用以下css来指定某个容器的尺寸:
  #box
  {
   width:100px;
   border:5px;
   padding:20px;
  }
  然后在html中应用:<div id="box">...</div>
  盒的总宽度在几乎所有浏览器中为150像素(100像素宽度+两条5像素的边框+两个20像素的填充),唯独在IE6之前版本的浏览器中仍然为100像素(边框值和填充值包含在宽度值中),使用盒模型的hack可以解决这一问题,
  #box
  {
   width:150px;        //这个是错误的width,所有浏览器都读到了
   voice-family: "\"}\"";      //IE5.X/win忽略了"\"}\""后的内容
   voice-family:inherit;
   width:100px;        //包括IE6/win在内的部分浏览器读到这句,新的数值(300px)覆盖掉了旧的
  }
  还有更简单的办法如下:
  CSS:
  #box { width:150px; }
  #box div { border:5px; padding:20px; }
  HTML:
  <div id="box"><div>...</div></div>
  这样一来在任何浏览器中盒的总宽度都将是150像素。
  但是即使是到了最新的IE6.0依然存在浮动模型(Float-model)的问题,值得庆幸(还是悲哀?)的是我们可以用IE中一直都不支持的!important来解决这个问题。
  !important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权(参见:W3.org的解释)。语法格式{ sRule!important },即写在定义的最后面,例如:box{color:red !important;}
  假如我们定义一个这样的样式:
     #box{background-color: #ffffff !important; background-color: #000000;}
  那么在支持该语法的浏览器,如Firefox、Opera中,能够理解!important的优先级,背景显示#ffffff颜色,而在IE中则显示#000000

  

原创文章如转载,请注明:转载自http://www.yaosansi.com
订阅本站,阅读更多文章
  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog .Theme from Google黑板报 By Washun

Copyright 2005-2008 yaosansi'site All Rights Reserved.

感谢Denny·G 为本站提供FTP空间
辽ICP备05021434号

Search

  •  

赞助商广告

控制面板

最新评论及回复

最近发表