css选择器的区别

[ attribute ~= value ] 用于选取属性值中包含指定词汇的元素。
[ attribute *= value ] 匹配属性值中包含指定值的每个元素。

p[class ~= "lone"]
p[class *= "lone"]

两者好像没有区别哈?

阅读 2k
3 个回答
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Test</title>
  <style type="text/css">
    p[class ~= "lone"]{
      color: red;
    }
    p[class *= "abc"]{
      color: blue;
    }
  </style>
</head>
<body>
  <p class="lone">lone: 红色</p>
  <p class="abc">abc: 蓝色</p>
  <p class="lone1">lone1: 未匹配</p>
  <p class="abc1">abc1: 蓝色</p>
</body>
</html>

一个是包含某个,一个是包含某个字符串 是不一样的

[attribute~=value] matches any entry in a space-delimited list. It matches attribute="a value b", but not attribute="a valueb".

[attribute*=value] matches any substring. It matches attribute="a value b" and attribute="a valueb", but not attribute="x".

指定词汇!==指定值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题