[css] 举例说明CSS特性检测的方式有哪些?

haizhilin2013
2020-04-24 04:38:32 星期五
css
                    
                        
举例说明CSS特性检测的方式有哪些?
Comments per page
< Page 1 / 1 >
zhaofeipeter 2020-07-26 02:16:01

原生的 @supports 的性能肯定是最好的,而且无需引入外部 javascript ,首推这个,但是无奈兼容问题,目前来看不是最好的选择。

Modernizr 功能强大,兼容性好,但是需要引入外部 javascript,多一个 http 请求,如果只是进行几个特性检测,有点杀鸡用牛刀的感觉。
针对需要的特性检测,使用 javascript 实现一个简单的函数,再把上面用到的方法封装一下:

/**

  • 用于简单的 CSS 特性检测

  • @param [String] property 需要检测的 CSS 属性名

  • @param [String] value 样式的具体属性值

  • @return [Boolean] 是否通过检查
    */
    (function(property, value) {
    // 用于测试的元素,隐藏在页面上
    var ele = document.createElement('div');

    // 只有一个参数的情况
    if(arguments.length === 1) {
    if(property in ele.style) {
    return true;
    }
    // 两个参数的情况
    }else if(arguments.length === 2){
    ele.style[property] = value;

     if(ele.style[property]) {
         return true;
     }
    

    }
    ele = null;
    return false;
    })("font-size",'10px');

排行榜
今日答题答题排行
    未答的题
    更多>
      【关注作者公众号】 以面试驱动学习--前端剑解
      【公众号推荐】 不折腾的前端和咸鱼有什么区别

      学习不打烊,充电加油只为遇到更好的自己,365天无节假日,每天早上5点纯手工发布前端知识点(死磕自己,愉悦大家)。希望大家在这浮夸的前端圈里,保持冷静,坚持每天花20分钟来学习与思考。在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!欢迎大家关注3+1开源项目!希望大家每人去学习与思考!(不要为了谁而来,要为自己而努力!

      【关注官方公众号】 每天4:30-5:00推送
      【公众号推荐】 一起折腾前端算法
      【微信学习群】 备注3+1