稍不留意便会忽略掉级联样式表的特点。大多数开发者都知道inherit关键字,但有几个新的CSS3继承特性你可能不知道…
 property: inherit;

  inherit关键字代表“使用指定给父元素的所有值”。如果父元素中没有明确的值定义,浏览器搜寻DOM树直到找到相应的属性。最终无法找到的话,它会使用浏览器的默认值,例如:
 

CSS Code复制内容到剪贴板
  1. #myparent   
  2. {   
  3.     margin: 10px;   
  4.     border: 1px solid #000;   
  5. }   
  6.     
  7. /* use the same border as the parent */  
  8. #myparent p   
  9. {   
  10.     border: inherit;   
  11. }  

  在实践中是很少有必要使用inherit的。许多有用的属性自动继承,例如字体,字体大小,颜色,等等。

  inheritis可以放心地使用。尽管IE6和IE7不支持,但你的设计不会因为这个而被破坏。
 property: initial;

  哦,一个新的CSS3关键词!initial设置一个属性为它的初始值——浏览器的默认定义值,例如:
 

CSS Code复制内容到剪贴板
  1. body   
  2. {   
  3.     font-size: 0.5em;   
  4. }   
  5.     
  6. /* reset paragraphs to 1em */  
  7. p   
  8. {   
  9.     font-size: initial;   
  10. }  

  它有用么?可能吧,毕竟你不能确保所有浏览器有相同的默认值。

  支持合理——Chrome,Firefox,Safari和Opera 15 +。IE下它不生效,而且我正在努力思考什么情况下这将是一个灾难性问题。
 property: unset;

  这是稍微不寻常的一个。unset使用时,它表现地就像有可继承值存在时继承了一样。如果它找不到可继承的值——比如,它是像box-shadow等不可继承的属性——它表现地好像继承了浏览器的默认值。

  话又说回来,我想不出太多使用unset的场景,目前对支持它的很少。
 all: [ inherit | initial | unset ];

  最后,all是一个属性而不是一个值。你可以指定inherit、initial或者unset来影响所有的属性,例如重置所有CSS属性为浏览器默认:
 

CSS Code复制内容到剪贴板
  1. #mywidget   
  2. {   
  3.     all: initial;   
  4. }  

  如果你添加了第三方控件且要避免页面样式冲突的话,这可能是一个可选的全局CSS域。

  不幸的是,目前为止你不能依靠跨浏览器的严格的一致性,然而,它依然是一个有用的特性。

标签:
CSS,inherit

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
千金楼资源网 Copyright www.htabc.com

评论“CSS中的inherit使用技巧小结”

暂无“CSS中的inherit使用技巧小结”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?