属性选择器的介绍

属性选择器顾名思义就是通过标签的属性来查找标签的选择器。让我们来回忆一下标签的属性是什么?HTML5 的所有标签共同拥有的属性叫作全局属性,除此之外还有标签自己拥有的属性,就叫作私有属性吧。除了 ID 选择器、标签选择器、Class 选择器以外,属性选择器能够满足以上选择器的功能,属性选择器的适用范围非常广泛。

语法规则及使用案例

属性选择器的基本语法:labelName[attrName=attrValue] {}。attrName 代表标签的属性,attrValue 代表属性值。比如,选择属性为 class,且属性值为 css 的 a 标签:

<a class="css" href="cnblogs.com/shiramashiro">My Blog Address.</a>
<a class="css html">Talk is cheap, show me the code.</a>
a[class="css"] {
font-size: 20px;
}

以上是属性选择器最基本的用法,属性值等价的方式来筛选不太满足需求,类似于正则表达式的方式选择标签是最为高效和灵活的方式,属性选择器也提供这样的方式:

属性选择的方式 描述
label[attr^=value] 表示带有以 attr 命名的属性,且属性值是以 value 开头的元素。
label[attr$=value] 表示带有以 attr 命名的属性,且属性值是以 value 结尾的元素。
label[attr*=value] 表示带有以 attr 命名的属性,且属性值至少包含 value 的元素。比如 zh-CN 和 zh,"value" 为 zh 时,zh-CN 和 zh 都匹配。
label[attr|=value] 表示带有以 attr 命名的属性的元素,属性值为 "value" 或是以 "value-" 为前缀("-"为连字符)开头。如 zh-CN 和 zh-TW 可以用 zh 作为 value。
label[attr~=value] 表示带有以 attr 命名的属性的元素,且属性值中至少有一个值为 value。

^=value

匹配属性值以 value 开头的标签(元素):

<div id="ti">hello</div>
<div id="title">javascript!</div>
div[id^="ti"] {
font-size: 20px;
}

$=value

匹配属性值以 value 结尾的标签(元素):

<div id="title">hello</div>
<div id="le">javascript!</div>
div[id$="le"] {
font-size: 20px;
color: red;
}

*=value

匹配属性值至少包含一个 value 的标签;value 是属性值的一部分:

<div id="title title header top leader">hello</div>
<div id="title top">javascript!</div>
div[id*="der"] {
font-size: 20px;
color: red;
}

|=value

匹配属性值为 "value" 或是以 "value-" 为前缀("-"为连字符)开头的标签:

<div class="zh-CH">中国</div>
<div class="zh-TW">中國</div>
div[class|="zh"] {
font-size: 20px;
color: red;
}

~=value

匹配属性值中至少有一个值为 value 的标签:

<div class="zh-CH zh">中国</div>
<div class="zh-TW">中國</div>
div[class~="zh"] {
font-weight: bold;
}

CSS 选择器(一):属性选择器的更多相关文章

  1. CSS伪元素选择器和属性选择器

    伪元素 能使用伪元素来选择元素中的一些特殊位置 一.给段落定义样式 :first-letter  首字母(只能用于块元素) :first-line  第一行 1.为p元素中的第一个字符设置颜色为黄色, ...

  2. id选择器、类选择器、属性选择器

    在网页编辑时,通常要对样式进行各种设置.我们借助CSS样式设计中的选择器,就能很好很方便的对它们进行管理和设置了. 今天,跟大家分享一下几个常用的选择器:id选择器.类选择器.属性选择器. id选择器 ...

  3. CSS 简介、语法、派生选择器、id 选择器、类选择器、属性选择器

    CSS 概述 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与表现 ...

  4. 2、前端--初见前后端交互、CSS简介、基本选择器、组合选择器、属性选择器、分组与嵌套、伪类选择器

    今日内容概要 初窥后端框架 css简介 css选择器 今日内容详细 初次体验前后端交互 # 代码无需掌握 只看效果即可 """后端框架:可以简单的理解为别人写好的一个非常 ...

  5. css选择器(2)——属性选择器和基于元素结构关系的选择器

    在有些标记语言中,不能使用类名和id选择器,于是css2引入了属性选择器. 3.属性选择器 a)根据是否存在该属性来选择 如果希望选择有某个属性的元素,例如要选择有class属性的所有h1元素,使其文 ...

  6. selenium选择器_css属性选择器

    搜索 <button class="btn-search tb-bg" type="submit" data-spm-click="gostr= ...

  7. python 之 前端开发(基本选择器、组合选择器、 交集与并集选择器、序列选择器、属性选择器、伪类选择器、伪元素选择器)

    11.3 css 11.31 基本选择器 11.311 id选择器 根据指定的id名称,在当前界面中找到对应的唯一一个的标签,然后设置属性 <!DOCTYPE html> <html ...

  8. CSS3 选择器——笔记+实战案例(基本选择器、组合选择器、属性选择器、伪类选择器)

    使用CSS3 选择器——笔记 CSS通过选择器控制HTML元素,CSS选择器对网页对象可以实现一对一.一对多或者多对一的匹配. 一.CSS3选择器分类 CSS选择器在CSS2.1选择器的基础上新增了属 ...

  9. CSS3 新增选择器:伪类选择器和属性选择器

    一.结构(位置)伪类选择器( : ) 1.:first-child 2.:last-child 3.:nth-child(n)或者:nth-child(2n)或者:nth-child(2n+1) &l ...

  10. css3选择器归类整理---基本选择器和属性选择器

    css3选择器分类 CSS3选择器分类如下图所示 选择器的语法 1.基本选择器 类型 代码 功能描述 通配选择器 *{ margin: 0; padding: 0; border: none; } 选 ...

随机推荐

  1. Android 实现开机自启APP

    原文地址:Android 实现开机自启APP - Stars-One的杂货小窝 公司有个项目,需要实现自启动的功能,本来想着是设置桌面启动器的方式去实现,但是设备是华为平板(EMUI系统),不允许设置 ...

  2. 零成本搭建个人博客之图床和cdn加速

    本文属于零成本搭建个人博客指南系列 为什么要使用图床 博客文章中的图片资源文件一般采用本地相对/绝对路径引用,或者使用图床通过外链进行引用展示.本地引用的弊端我认为在于: 图片和博客放在同一个代码托管 ...

  3. SAP 实例 13 Random Grouping with LOOP

    REPORT demo_loop_group_by_random. CLASS demo DEFINITION. PUBLIC SECTION. CLASS-METHODS: main, class_ ...

  4. 基于slate构建文档编辑器

    基于slate构建文档编辑器 slate.js是一个完全可定制的框架,用于构建富文本编辑器,在这里我们使用slate.js构建专注于文档编辑的富文本编辑器. 描述 Github | Editor DE ...

  5. salt stack安装与使用

    SaltStack除了传统的C/S架构外,其实还有Masterless架构,如果采用Masterless架构,我不需要单独安装一台SaltStack Master机器,只需要在每台机器上安装Minio ...

  6. 【python基础】第01回 计算机基础1

    本章内容概要 1.文件路径2.typora主要功能介绍3.typora语法学习(markdown)4.计算机的本质5.计算机五大组成部分6.网络博文编写教程 本章内容详解 1.文件路径 --路径:可以 ...

  7. bat-注册表修改win11右键风格

    展开:reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32&q ...

  8. java常见的面试题(一)

    1.Collection 和 Collections 有什么区别? Collection 是一个集合接口(集合类的一个顶级接口).它提供了对集合对象进行基本操作的通用接口方法.Collection接口 ...

  9. Docker — 从入门到实践PDF下载(可复制版)

    0.9-rc2(2017-12-09)修订说明:本书内容将基于DockerCEv17.MM进行重新修订,计划2017年底发布0.9.0版本.旧版本(Docker1.13-)内容,请阅读docker-l ...

  10. 记一道经典树上Nim游戏

    这道题首先是 Hanriver 提出来的,但是大家都不会做,今天看到了一道一模一样的题目 AT2667 题目大意是,每个人删掉一个不是整棵树的原树的子树,给定一个树问游戏状态. 首先,这是需要用到多个 ...