0基础学习CSS(二十九)选择器

CSS 属性 选择器


CSS 属性选择器用于根据元素的属性或属性值来选择 HTML 元素。

属性选择器可以帮助你在不需要为元素添加类或 ID 的情况下对其进行样式化。

**注意:**IE7 和 IE8 需声明 !DOCTYPE 才支持属性选择器!IE6 和更低的版本不支持属性选择器。

以下是常见的 CSS 属性选择器:

1、[attribute]

选择带有指定属性的所有元素(无论属性值是什么)。

复制代码
/* 选择所有具有 `type` 属性的元素 */
[type] {
  border: 1px solid red;
}

2、[attribute="value"]

选择具有指定属性和值完全匹配的元素。

复制代码
/* 选择所有 `type` 属性等于 `text` 的元素 */
[type="text"] {
  background-color: yellow;
}

3、[attribute~="value"]

选择属性值中包含指定词(用空格分隔的词列表之一)的元素。

复制代码
/* 选择属性值中包含 `button` 的元素 */
[class~="button"] {
  font-weight: bold;
}

4、[attribute|="value"]

选择具有指定值或者以指定值开头并紧跟着连字符 - 的属性值的元素,常用于语言代码。

复制代码
/* 选择所有 `lang` 属性是 `en` 或者以 `en-` 开头的元素 */
[lang|="en"] {
  color: green;
}

5、[attribute^="value"]

选择属性值以指定值开头的元素。

复制代码
/* 选择所有 `href` 属性以 `https` 开头的链接 */
[href^="https"] {
  text-decoration: none;
}

6、[attribute$="value"]

选择属性值以指定值结尾的元素。

复制代码
/* 选择所有 src 属性以 .jpg 结尾的图片 */
[src$=".jpg"] {
  border: 2px solid blue;
}

7、[attribute="value"]*

选择属性值中包含指定值的元素。

复制代码
/* 选择所有 `title` 属性中包含 `tutorial` 的元素 */
[title*="tutorial"] {
  font-style: italic;
}

通过属性选择器,你可以轻松选择元素并基于它们的属性设置特定样式,增加了灵活性和可维护性。


属性选择器

下面的例子是把包含标题(title)的所有元素变为蓝色:

实例

title\] { color:blue; } *** ** * ** *** ### 属性和值选择器 下面的实例改变了标题title='runoob'元素的边框样式: ### 实例 \[title=runoob\] { border:5px solid green; } *** ** * ** *** ### 属性和值的选择器 - 多值 下面是包含指定值的title属性的元素样式的例子,使用(\~)分隔属性和值: ### 实例 \[title\~=hello\] { color:blue; } 下面是包含指定值的lang属性的元素样式的例子,使用(\|)分隔属性和值: ### 实例 \[lang\|=en\] { color:blue; } *** ** * ** *** ### 表单样式 属性选择器样式无需使用class或id的形式: ### 实例 input\[type="text"\] { width:150px; display:block; margin-bottom:10px; background-color:yellow; } input\[type="button"\] { width:120px; margin-left:35px; display:block; }

相关推荐
前端小巷子16 分钟前
Webpack 5模块联邦
前端·javascript·面试
玲小珑19 分钟前
Next.js 教程系列(十九)图像优化:next/image 与高级技巧
前端·next.js
晓得迷路了20 分钟前
栗子前端技术周刊第 91 期 - 新版 React Compiler 文档、2025 HTML 状态调查、Bun v1.2.19...
前端·javascript·react.js
go546315846521 分钟前
基于分组规则的Excel数据分组优化系统设计与实现
人工智能·学习·生成对抗网络·数学建模·语音识别
江城开朗的豌豆26 分钟前
Vue和React中的key:为什么列表渲染必须加这玩意儿?
前端·vue.js·面试
江城开朗的豌豆31 分钟前
前端路由傻傻分不清?route和router的区别,看完这篇别再搞混了!
前端·javascript·vue.js
pengzhuofan34 分钟前
Web开发系列-第0章 Web介绍
前端
●VON38 分钟前
重生之我在暑假学习微服务第二天《MybatisPlus-下篇》
java·学习·微服务·架构·mybatis-plus
小鱼人爱编程43 分钟前
Java基石--反射让你直捣黄龙
前端·spring boot·后端
Yu_Lijing1 小时前
MySQL进阶学习与初阶复习第四天
数据库·学习·mysql