CSS揭秘笔记--(1)

1、CSS某个特性是否被支持
原理:在任意元素element.style对象上检查该属性是否存在。
代码:

function testProperty(property){
      var root=document.documentElement;
      if(property in root.style){
            root.classList.add(property.toLowerCase());
            return true;
       }
       root.classList.add('no-'+property.toLowerCase());
        return false;
}

2、CSS特性的某个属性值是否被支持
原理:在解析CSS代码时,浏览器总是丢掉自己无法识别的部分,故可以在任意元素上动态运用样式,然后检查该样式是否生效。
代码:

  function testValue(id,property,value){
      var temp=document.createElement('p'),
             root=document.documentElement;
       temp.style[property]=value;
       if(temp.style[property]){
          root.classList.add(id);
          return true;
       }
       root.classList.add('no-'+id);
       return false;
   }

3、currentColor与inherit

  • currentColor是CSS 中有史以来的第一个变量,很多CSS颜色属性的初始值就是currentColor,这就是为什么当没有给border、outline、text-shadow、box-shadow设置颜色时,这些属性会自动取文本的颜色作为自身的颜色
  • inherit可以用在任何css属性中,它总是绑定到父元素的计算值(伪元素会取其宿主元素)。比如想让表单元素(input select button)以及a元素字体颜色与页面其他部分相同,只需:input,button,select,a{color:inherit}即可。除了适用于字体颜色,还可适用于背景色。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 尽量减少代码重复 在软件开发中,保持代码的DRY 和可维护性是最大的挑战之一,而这句话对CSS 也是适用的。在实践...
    图灵教育阅读 1,226评论 0 14
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,627评论 32 459
  • 你一定要过得很好,不然对不起我的不打扰
    飞来的砖头阅读 163评论 0 0
  • 这本书主要解析了大五人格特质,总结了一套了解人的方法论。大五的来源来自词汇分析。即从字典里挑出描述人格特质的词,再...
    TaraChen阅读 2,251评论 0 5