4、CSS入门——属性选择器

目录

  • [1. 存否和值选择器](#1. 存否和值选择器)
  • [2. 子字符串匹配选择器](#2. 子字符串匹配选择器)
  • [3. 大小写敏感](#3. 大小写敏感)
  • 参考

1. 存否和值选择器

  这些选择器允许基于一个元素自身是否存在或者基于各式不同的按属性值的匹配来选择元素。

选择器 示例 描述
attr atitle 匹配带有一个名为attr的属性的元素
attr=value ahref="https://example.com" 匹配带有一个名为attr的属性的元素,其attr属性的值为value
attr\~=value pclass\~="special" 匹配带有attr属性、且属性值是以空格分隔的单词列表的元素------列表中恰好有一个词完整等于value
attr|=value divlang|="zh" 匹配带有attr属性、且属性值正好等于value、或者以value开头并紧跟一个连字符(-)的元素
html 复制代码
<!doctype html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8" />
    <title>开始学习 CSS</title>
    <link rel="stylesheet" href="learning.css" />
</head>

<body>
<h1>Attribute presence and value selectors</h1>
<ul>
    <li>Item 1</li>
    <li class="a">Item 2</li>
    <li class="a b">Item 3</li>
    <li class="ab">Item 4</li>
</ul>
</body>
</html>
css 复制代码
body {
  font-family: sans-serif;
}
li[class] {
  font-size: 120%;
}

li[class="a"] {
  background-color: yellow;
}

li[class~="a"] {
  color: red;
}

2. 子字符串匹配选择器

  这些选择器让更高级的属性的值的字符串的匹配变得可行。例如,如果你有box-warning和box-error类,想把开头为"box-"字符串的每个物件都匹配上的话,你可以用class\^="box-"来把它们都选中。

选择器 示例 描述
attr\^=value liclass\^="box-" 匹配带有一个名为attr的属性的元素,其值开头为value子字符串
attr$=value liclass$="-box" 匹配带有一个名为attr的属性的元素,其值结尾为value子字符串
attr\*=value liclass\*="box" 匹配带有一个名为attr的属性的元素,其值的字符串中任何地方至少出现一次value字符串
html 复制代码
<!doctype html>
<html lang="en-US">
<head>
    <meta charset="utf-8" />
    <title>learning CSS</title>
    <link rel="stylesheet" href="learning.css" />
</head>

<body>
<h1>Attribute substring matching selectors</h1>
<ul>
    <li class="a">Item 1</li>
    <li class="ab">Item 2</li>
    <li class="bca">Item 3</li>
    <li class="bcabc">Item 4</li>
</ul>
</body>
</html>
css 复制代码
body {
  font-family: sans-serif;
}
li[class^="a"] {
  font-size: 120%;
}

li[class$="a"] {
  background-color: yellow;
}

li[class*="a"] {
  color: red;
}

3. 大小写敏感

  如果你想在大小写不敏感的情况下,匹配属性值的话,你可以在闭合括号之前,使用i值。这个标记告诉浏览器,要以大小写不敏感的方式匹配ASCII字符。没有了这个标记的话,值会按照文档语言对大小写的处理方式,进行匹配------HTML中是大小写敏感的。

html 复制代码
<!doctype html>
<html lang="en-US">
<head>
    <meta charset="utf-8" />
    <title>learning CSS</title>
    <link rel="stylesheet" href="learning.css" />
</head>

<body>
<h1>Case-insensitivity</h1>
<ul>
    <li class="a">Item 1</li>
    <li class="A">Item 2</li>
    <li class="Ab">Item 3</li>
</ul>
</body>
</html>
css 复制代码
li[class^="a"] {
    background-color: yellow;
}

li[class^="a" i] {
    color: red;
}

参考

1、属性选择器

相关推荐
程序员大阳21 小时前
HTML+CSS+JS对话式实战(9)-项目总结与问题分析
javascript·css·html·实战·项目总结
程序员大阳1 天前
HTML+CSS+JS对话式实战(6)-学生端查看活动功能开发
javascript·css·html·模块·查看学生
程序员大阳4 天前
HTML+CSS+JS对话式实战(3)-活动管理页实现查询、新增、删除API后端接口
javascript·css·html·实战·删除·查询·新增
ZhengEnCi5 天前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
ZhengEnCi5 天前
为什么苹果的圆角更高级:连续曲率圆角 Squircle 从超椭圆到 CSS 实现的完全讲解
css·设计
用户3434612783206 天前
用户认证系统在高并发下的幂等性与限流策略踩坑实录
css
啾咪orJIUMI7 天前
Vue 3 + SCSS 实现全屏系统门户:五栏展开与灯光联动
css
程序员大阳7 天前
HTML+CSS+JS对话式实战(1)-开篇:认识我们要做的社团活动发布平台
javascript·css·html·实战·系统·平台·社团活动发布
志尊宝8 天前
AI原生前端开发(043):AI辅助的样式生成(Tailwind CSS)
前端·css·ai-native
java1234_小锋9 天前
【技术专题】CSS3 网页技术 - CSS3 布局进阶
前端·css·css3