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的形式:

实例

inputtype="text" { width:150px; display:block; margin-bottom:10px; background-color:yellow; } inputtype="button" { width:120px; margin-left:35px; display:block; }

相关推荐
codeGoogle15 小时前
自研 IM 还是选择第三方 SDK?企业开发者应该如何权衡?
前端·后端·程序员
用户9385156350716 小时前
React Context 与自定义 Hook 从底层到实践:「跨层级通信 + 副作用封装」全解析
前端·javascript·react.js
滴滴答答哒17 小时前
VUE3+element-plus MultiSelect 多选下拉组件
前端·javascript·vue.js
其美杰布-富贵-李17 小时前
04 watch 与 Vue 响应式数据流
前端·javascript·vue.js
赵大仁19 小时前
生成式 UI 实战:用 JSON Schema + React 动态渲染 AI 界面
前端·ai·react·next.js·前端架构·生成式ui
山荷枝19 小时前
Java学习第十天
java·学习
huibin14785236919 小时前
热缓解学习记录
android·学习
kyriewen20 小时前
我排查了一个React内存泄漏——罪魁祸首是这3个被忽略的清理函数
前端·javascript·面试
IT_陈寒20 小时前
我又被JavaScript的隐式类型转换坑了
前端·人工智能·后端
其美杰布-富贵-李20 小时前
03 ref、reactive 与 computed 响应式数据
前端·javascript·vue.js