html5 - CSS怎么简写自有数字区别的代码呢???
迷茫
迷茫 2017-04-17 12:08:53
[HTML讨论组]
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
PHPz

首先这四个选择器根本就不是只有2345的区别,还有json和java的区别……

其次,CSS不是这样用的,特化程度尽可能堆到满,然后再加一个important,还想要一个样式覆盖多种元素,二者不可能协调,这样疯狂的堆行数根本就没法维护。

特化程度是一个双刃剑。
特化程度越高,越不容易覆盖到多个元素,越容易覆写其他样式;
特化程度越低,越容易覆盖到多个元素,越不容易覆写其他样式。

打个比方,你是皇帝,需要用CSS选择器控制皇妃穿衣,于是你给出的是这样的话:
“胸口有个痣的刘姓的常在、胸口有个痣的张姓的贵人、胸口有个痣的刘姓的答应、胸口有个痣的刘姓的常在,请你们穿红色的衣服,必须得穿,谁说都没用。”
费尽口舌。

泛化的做法就是这样说:
“如果你的胸口有个痣,请你穿红色的衣服。”
轻轻松松。

如果是字体等可能继承的属性,利用继承性来做直接可以是:
“如果你住在广寒宫,请你穿红色的衣服。”
方便快捷。

不过LZ这样写出来代码,样式相互覆写已经不可收拾,所以要改只能全站来改。加油?


如果要切题,仅针对:

.mCS_2,
.mCS_3,
.mCS_4,
.mCS_5 { background: #FFC }

可以写成:

[class^="_mCS_"],
[class*=" _mCS_"] { background: #FFC }

再说一次,这是几乎没人用的做法,多定义一个CSS类的事情,非要搞得这么复杂。

迷茫

无解

不过你可以用less, scss等 css 预处理器来生成

PHP中文网

用sass,语法如下:

@for $i from 2 to 5 {
    pre.hljs.json.mCustomScrollbar._mCS_#{$i}.mCS-autoHide {
      background-color: rgb(26, 26, 26) !important;
    }
  }
PHPz

less或者sass

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号