【译】谨慎使用CSS中的波浪选择器

原文:The tilde CSS selector, use carefully!

最近我的一些项目都遇到了一些类似的样式问题。它们都错误地使用了波浪选择器,并造成了很多地方的CSS代码臃肿(CSS Bloat)。大家可能以前也都遇到或者使用过波浪选择器,毕竟它作为CSS选择器已经很长时间了,甚至IE7都支持。波浪选择器用来选择所有匹配到的兄弟元素。

一个例子

<ul>
<li class="something-important">Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
.something-important {
   color: red;
}
.something-important ~ li {
   font-style: italic;
   color: grey;
}

效果:
图片描述
这里我们的波浪选择器匹配了.something-important的所有兄弟元素,item2,3,4。

所以问题在哪儿呢?

它太容易制造出脆弱的代码了。

我的经验里,使用波浪选择器一般都是通过type而不是class来选择兄弟元素的。这样会造成你不知道这个选择器写这儿到底是干嘛用的。上面这个例子我们就不知道.something-important ~li选择到的<li>标签是个啥,不如直接给这些li标签加上.not-important来的简单直接。

通常来说多敲几个字给每个元素都加上class可以给未来的维护减少很多不必要的麻烦。

“在写代码的时候,永远假设最后一个维护你的代码是一个知道你家住在哪儿的沉默的精神病人。写点人读得懂的代码。——John Woods

用武之地

待编辑

避免CSS代码臃肿

我认为这篇文章并不仅仅就是告诉大家避免使用波浪选择器,更多的是让大家知道遇到CSS的问题时不要从加上更多的CSS的代码开始。这从来都不是保持代码可维护性的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值