Odd CSS syntax. [class^='icon-'], [class*=' icon-']CSS选择器中的正则表达式

  1. 在一次学习别人的代码的时候,看到这种语法,从没有见过,后来在stackoverflow才找到答案,原来是叫css 选择器中的正则表达式。
    在这里插入图片描述
    2、
    正则表达式在任何语言中都有使用,只是使用的形式不一样而已

css也是一门语言,也有自己的正则表达式

正则表达式中的一些通用规则:

1 ^ 表示字符串开始位置匹配

2 $表示字符串结束为止匹配

3 *表示字符串任意位置匹配

4 i表示字符串匹配不区分大小写

5 g 表示字符串全局匹配

css属性选择器与正则表达式:

1 [attr=“val”] 选择attr属性值只为val的元素

2[attr]选择有attr这个属性的元素(区分大小写)

3 [attr~=“val”] 选择属性为attr,并且属性值包含val单词的元素(区分大小写)

|| 错误的:

4 [attr$=“val”]选择属性attr的值结尾为val字符的元素 (区分大小写)

|| 错误的:

5[attr^=“val”]选择属性attr的值开头为val字符的元素 (区分大小写)

|| 错误的:

6 [attr*=“val”]选择属性attr的值任意位置包含val字符的元素(区分大小写)

7 [attr|=“val”] 选择属性attr的值开头为val的单词或者为val-单词的元素(区分大小写)div attr=“val”/>

|| 错误的:

8 [attr*=“val” I]或者[attr*=“val” i]选择属性attr的值任意位置包含val或者VAL或者 Val 或者vAl或者 vaL字符(不区分大小写)的元素

<

div attr=“Val”/>

目前Chrome, FireFox, Safari已支持i正则,但是ie不支持不区分大小写,别的属性选择器ie7+都都支持

ie7的一些特点:

1 ie7 不认识原生的[checked]属性

在ie7下解析[checked]为[CHECKED]全部大写化,这时候的属性应该是defaultChecked

2 ie7 不认识部分的只用属性选择器:[type=‘checkbox’] { display:none;} 这样定义是不起作用的,需要改成例如:input[type=‘checkbox’] { display:none;} 但是id就可以例如#demo{ display:none;}是起作用的

3 ie7中属性名是严格区分大小写的,在html和css中不区分的

4、原文链接:https://www.cnblogs.com/xiaofenguo/p/6134303.html

发布了75 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45416217/article/details/102977346