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、属性选择器

相关推荐
DsirNg17 小时前
响应式的真正输入:为组件重新定义可用空间
css·flexbox·grid·前端架构·响应式布局·设计系统·container queries
PYB318 小时前
【Web·基础学习】基础布局
css·html·web
晓得迷路了18 小时前
栗子前端技术周刊第 148 期 - Turborepo 2.11、Chrome 154 iframe、Node.js 26...
前端·javascript·css
cindershade1 天前
响应式的真正输入:为组件重新定义可用空间
css·flexbox
刃神太酷啦7 天前
前端入门第一课:HTML 基础语法 + 常用标签 + 实战全解
服务器·c语言·前端·javascript·css·c++·html
扶苏10027 天前
CSS 图标换色指南:用 brightness / invert / mask 把任意图片改成想要的颜色
css
我命由我123457 天前
CSS - CSS 媒体查询 orientation
前端·javascript·css·html·css3·html5·js
zhanghaha13148 天前
HTML系列教程:18_HTML / CSS 颜色零基础详解
css·html·tensorflow
Aaswk8 天前
从 HTML/CSS/JS 到 Vue + Axios 的一篇实战笔记
前端·css·vue.js·html
xieliyu.9 天前
前端基础:常见CSS选择器用法
前端·css·笔记·vscode