属性选择器的介绍

属性选择器顾名思义就是通过标签的属性来查找标签的选择器。让我们来回忆一下标签的属性是什么?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. Java到底是解释型还是编译型语言

    Java到底是解释型还是编译型语言? 定义 回答这个问题,我们首先来看下概念: 开发人员编写代码,语言是人类可理解的方式,是具有语义的,然而计算机无法理解和执行,因此需要做一层转换. 解释型语言: 运 ...

  2. Java 多线程共享模型之管程(上)

    主线程与守护线程 默认情况下,Java 进程需要等待所有线程都运行结束,才会结束.有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束. packag ...

  3. Docker容器编译安装Redis

    Docker容器编译安装Redis 1.创建容器 -i 交互模式 -d 后端运行 -h 容器的hostname --name 容器名 --network 网卡 --ip IP地址 -p 端口映射 -- ...

  4. 使用cmd命令行执行MySQL数据库

    说明 用命令提示符来操作一些简单的数据库,便捷又快速,随便记录一下,以后没事就自己来看看! 哈哈哈! 打开/关闭mysql服务 net start mysql net stop mysql 连接mys ...

  5. RabbitMD大揭秘

    RabbitMD大揭秘 欢迎关注H寻梦人公众号 通过SpringBoot整合RabbitMQ的案例来说明,RabbitMQ相关的各个属性以及使用方式:并通过相关源码深刻理解. Queue(消息队列) ...

  6. django生成迁移文件和执行迁移的命令

    生成迁移文件: python manage.py makemigrations    #创建数据库迁移文件 执行迁移: python manage.py migrate    # 根据数据库迁移文件生 ...

  7. Linux文本查看工具

    文本查看工具 cat 特点: 不能用来看二进制文件 选项: -A: 显示不可见字符 cat支持标准输入: cat > aa.txt ---键盘作为标准输入,输出的结果重定向文件中去了 cat & ...

  8. Ajax:异步的JS和XML

    1.Ajax1) AJAX 是 Asynchronous JavaScript And XML 的简称.直译为,异步的JS和XML.2) AJAX的实际意义是,不发生页面跳转.异步载入内容并改写页面内 ...

  9. 集合-List接口常用实现类的对比

    1.collection接口:单列集合,用来存储一个一个的对象 2. list接口:存储有序的.可重复的数据. --->"动态数组",替换原有的数组 (1) Arraylis ...

  10. Mac平台下git命令自动补全

    一.安装bash-completion 安装Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com ...