
Less属性选择器正则表达式大小写不敏感匹配
在Less中,使用属性选择器结合正则表达式进行样式匹配时,默认情况下正则表达式可能区分大小写。为了实现大小写不敏感的匹配,您可以采用以下两种方法:
方法一:利用Less内置函数str-case-insensitive-contains()
Less提供了一个方便的内置函数str-case-insensitive-contains(),可以进行大小写不敏感的字符串匹配。 您可以将它与属性选择器结合使用,例如:
立即学习“前端免费学习笔记(深入)”;
<code class="less">[data-file-name~=~".jpg"] { /* 使用~=~表示大小写不敏感的包含匹配 */
background: url('xxx') no-repeat center/cover;
}
[data-file-name$=~".gif"] { /* 使用$=~表示大小写不敏感的后缀匹配 */
background: url('yyy') no-repeat center/cover;
}
[data-file-name^=~".png"] { /* 使用^=~表示大小写不敏感的前缀匹配 */
background: url('zzz') no-repeat center/cover;
}</code>方法二:使用CSS3 :insensitive伪类 (兼容性需注意)
CSS3引入了:insensitive伪类,可以使选择器对大小写不敏感。 然而,该伪类的浏览器兼容性并非完美,在使用前请仔细检查目标浏览器的支持情况。
<code class="less">[data-file-name$=".jpg"]:insensitive {
background: url('xxx') no-repeat center/cover;
}
[data-file-name$=".gif"]:insensitive {
background: url('yyy') no-repeat center/cover;
}
[data-file-name~=".png"]:insensitive {
background: url('zzz') no-repeat center/cover;
}</code>总结:
推荐使用第一种方法,即利用Less的str-case-insensitive-contains()函数,因为它具有更好的浏览器兼容性。 第二种方法虽然简洁,但需要考虑兼容性问题。 选择哪种方法取决于您的项目需求和目标浏览器的支持情况。 请注意,~=~、$=~、^=~ 是自定义的简写方式,实际使用时需根据Less版本和编译器进行调整。 确保你的Less编译器能够正确解析这些操作符。
以上就是Less中CSS属性选择器正则匹配如何忽略大小写?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号