最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 什么?CSS还有这种写法?

    正文概述 掘金(我在曾经眺望彼岸)   2021-04-01   656

    css背景介绍

    CSS(Cascading Style Sheets), 前端DSL语言,是当下多元化时代的必不可缺的产物,早在CSS未出现之前,只有html元素标签,每个html元素都会有自己独立的样式,比如table标签,但是随着时间推移,对于页面展示样式要求越来越高,规范只能通过不断的插入新的标签去做多元化样式处理,但是依然解决不了实质问题,此时CSS被提出并且受到了开发者的广泛欢迎,它能够精确的描述元素样式, 并且提供了强大的功能,例如GPU加速,动画过渡等,下面介绍下CSS的用法

    递进CSS

    常规的写法

      .head {
        color: red;
        width: 100px;
        height: 100px;
      }
    

    以上写法是一个比较常规的写法,但是有几个缺陷:

    1. 无法适配响应式布局,需要写媒体查询以及rem等样式
    2. 无法动态修改head样式

    内联样式

      const head = document.getElementsByClassName('head')[0]
      head.style.width = '200px'
    

    优势:

    1. 解决了上述常规写法的动态修改问题
    2. 样式优先级仅低于!important

    劣势:

    1. 需要通过javascript来操控html元素,性能上有损耗
    2. 内联样式只是针对于单个元素, 若是想要设置多个, 需要重复操作, 复用性不强

    css变量

      :root {
        --height: 2rem;
      }
      
      .head {
        --width: 200px;
        width: var(--width);
        height: var(--height)
      }
    

    css变量写法:

    1. 变量必须以--开头定义,调用时必须使用var函数
    2. 变量具有作用域,会在对应元素及子元素才能访问到, 以上例子中--width只能在.head下访问
    3. 全局作用域需要在:root下定义
    4. var可以携带默认值 var(变量, 默认值), 当变量是非法时就会启用默认值
    5. javascript可以通过node.style.setProperty(变量名, 值)

    优势:

    1. 可以复用变量,做类似于主题的处理
    2. 通过javascript设置的变量可以直接使用css像素单位,不需要做dpr转换

    劣势:

    1. 兼容性较差
    2. 控制台可以控制样式的增删改查

    兼容性

    什么?CSS还有这种写法?

    CSSStyleSheet

    CSSStyleSheet 接口代表一个 CSS 样式表,并允许检查和编辑样式表中的规则列表,我们每个样式表都可以在document.styleSheets里找到,也就是说我们只需要动态插入CSSStyleSheet对象就可以生成新的样式表

    什么?CSS还有这种写法?

    使用方式:

    什么?CSS还有这种写法?

    控制台里显示

    什么?CSS还有这种写法?

    直接使用构造函数创建实例

    insertRule: 添加新的cssRules,一个CSSStyleSheet具有多个CSSRule
    
    replace: 允许cssText中包括@import,返回promise
    
    replaceSync: 不允许cssText中包括@import
    
    deleteRule: 删除某个cssRule
    

    最后要将CSSStyleSheet合并到document或者是shadowdom下的adoptedStyleSheets,由于adopteStyledSheets是被冻结过的,所以我们要使用浅克隆或者是concat方法重新创建一个新的数组

    然后我们可以看到控制台里显示的是contructed stylesheet,代表的可构造的样式

    优势:

    1. 可以不用写style标签,减少head里的标签引入
    2. 具有css变量的优势
    3. 可以适配shadowdom, shadowdom下同样具备adoptedStyleSheets属性

    劣势:

    1. 兼容性差

    什么?CSS还有这种写法?

    结束语

    留个思考题 CSS还有什么写法呢,期待您的留言

    有收获的希望能给个关注和点个赞哦

    wx号: IAmFineThanksMartin

    公众号: 前端马丁


    起源地下载网 » 什么?CSS还有这种写法?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元