在有些标记语言中,不能使用类名和id选择器,于是css2引入了属性选择器。

3.属性选择器

  a)根据是否存在该属性来选择

    如果希望选择有某个属性的元素,例如要选择有class属性的所有h1元素,使其文本为银色,可以这样写:

/*根据单个属性来选择*/
h1[class]{
color:sliver;
}
/*还可以根据多个属性来选择*/
h1[class][id]{
  color:yellow;
}

  b)根据具体属性值来选择 

  <style>

    /*也可以利用多个属性值来选择,第二段变成了红色*/

    p[class='one'][alt='two']{
      color:red;
    }
  </style>
  <body>
    <p class='one'>一个class属性</p>
    <p class='one' alt='two'>一个class属性加上一个alt属性</p>
  </body>

  c)根据部分属性值来选择

  ~=:如果属性能够接受词列表,可以根据其中的任意一个词进行选择。

  *=word1:选择属性值中包含word1的所有元素

  ^=start:选择属性值中以start开头的所有元素

  $=end:选择属性值中以end结尾的所有元素

<style>
p[class~='bar']{
color:red;
}
p[class*='wo']{
color:blue;
}
p[class^='th']{
color:yellow;
}
p[class$='ur']{
color:purple;
}
</style>
<body>
<p class='one bar'>one</p><!--红色-->
<p class='one bard'>与上一段作为对比</p><!--默认颜色-->
<p class='two ok'>two</p><!--蓝色-->
<p class='three'>three</p><!--黄色-->
<p class='four'>four</p><!--紫色-->
</body>

  d)特定属性选择器

    直接看例子:

/*选择src属性等于figure或者以figure-开头的元素*/
img[src|='figure']{
border:1px;
}

4.基于文档结构的选择器

  a)后代选择器——使用空格分隔:

    选择h1中的所有em元素:

h1 em{
color:gray;
}
/*当然并不限于两个选择器,例如:*/
/*将p标签下的所有span标签下的所有em元素的文本颜色设置为灰色*/
p span em{
  color:em
}

  b)子元素选择器——使用>号分隔

   选择h1的子元素而不是后代元素

<style>
h1 > em{
color:red;
}
</style>
<body>
<h1>sjfsl<span><em>不会被选择到</em></span><em>会被选择到</em></h1>
</body>

  c)相邻兄弟(不能是堂兄弟,即拥有相同的父元素)选择器——使用+号分隔 

<style>
p + h1{
color:red;
}
</style>
<body>
<p>第一段</p>
<h1>第二段</h1><!--颜色变红-->
<h1>第三段</h1><!--颜色不变--> </body>

css选择器(2)——属性选择器和基于元素结构关系的选择器的更多相关文章

  1. jQuery的简单用法(jQuery的简介,选择器,属性和css,文档处理)

    一.jQuery简介 1.1.  JS库 JavaScript 库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互客户端页面, 并且兼容各大浏览器. 1.2.  当前流行的 JavaSc ...

  2. CSS3新增(选择器{属性选择器,结构伪类选择器,伪元素选择器})

    1.属性选择器 属性选择器,可以根据元素特定的属性来选择元素,这样就不用借助 类 或者 id选择器. E [ att ]   选择具有 att 属性的 E 元素   例如:input [ value ...

  3. CSS3新增的选择器和属性

    <!doctype html>无标题文档 一.新增的选择器 CSS3新增的属性选择器 {除ie6外的大部分浏览器支持) 序号 选择器 含义 实例 1 E[att^="val&qu ...

  4. CSS Counters 计数属性

    CSS Counters其实就是一计数器,早期在CSS中计数器仅存在于ul和ol元素.如果要使用在div这样的元素上,只能通过list-style-image或者是元素的backgroud-image ...

  5. 【CSS】float属性

    float浮动属性1.作用: 将页面元素浮动起来,使其能够向左或者向右排列 2.应用: 实现页面中布局的左右排版 实现图文环绕的版式效果 3.值: 4.原理: 浮动元素将脱离默认的文档流,漂浮在默认文 ...

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

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

  7. 第49天学习打卡(CSS 层次选择器 结构伪类选择器 属性选择器 美化网页元素 盒子模型)

    推荐书籍:码出高效: Java 开发手册 2.2 层次选择器 idea里代码规范是按:ctrl +alt+L快捷键 注释快捷键:ctrl+/ 1.后代选择器:在某个元素的后面 祖爷爷 爷爷 爸爸 你 ...

  8. 伪元素选择器,选择器优先级,CSS修改文字属性,CSS修改字体属性,CSS修改其他属性

    伪元素选择器 未使用元素选择器的效果 第一行:伪元素选择器:选择部分内容 第二行:伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 ::selection:选择指定元 ...

  9. 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器

    目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...

随机推荐

  1. jQuery笔记之工具方法—Ajax 优化回调地狱

    在上一篇文我们说到了回调地狱不好的地方,今天我们看看怎么来优化它,让它可以运用到实际开发中. 什么是回调地狱?回调地狱就是一个函数里面嵌套了所有功能函数,然后缩略图形成一个三角形. 这样的代码可复用性 ...

  2. AForge.NET .NET2.0程序集无法在.net 4.0 中运行的解决方案

    如有雷同,不胜荣欣,若转载,请注明 最近在项目上一直使用.net4.0 framework,突然发现一个AForge.net中使用ffmepeg下的一个dll时,提示只能在2.0下运行,在众多MSDN ...

  3. AtCoder Grand Contest 013 E - Placing Squares

    题目传送门:https://agc013.contest.atcoder.jp/tasks/agc013_e 题目大意: 给定一个长度为\(n\)的木板,木板上有\(m\)个标记点,距离木板左端点的距 ...

  4. 设置Linux环境变量的方法和区别_Ubuntu/CentOS

    设置 Linux 环境变量可以通过 export 实现,也可以通过修改几个文件来实现,有必要弄清楚这两种方法以及这几个文件的区别. 通过文件设置 Linux 环境变量 首先是设置全局环境变量,对所有用 ...

  5. Codeforces Round #261 (Div. 2) E

    Description Pashmak's homework is a problem about graphs. Although he always tries to do his homewor ...

  6. Harris角点检测原理及实现

    一.原理 二.实现 close all; clear all; I=imread('test.tif'); [posX,posY]=harris(I); figure;imshow(I); hold ...

  7. Include,Forward,sendRedirct的区别(转)

    三者在servlet中的最大区别是: Include和Forward:将当前请求转到另外一个JSP或者servlet处理. sendRedirct:将当前请求返回到浏览器,带上要redirect的UR ...

  8. SpringCloud开发学习总结(七)—— 声明式服务调用Feign(二)

    参数绑定 在上一章的示例中,我们使用Spring Cloud Feign实现的是一个不带参数的REST服务绑定.然而现实系统中的各种业务接口要比它复杂得多,我们有时会在HTTP的各个位置传入各种不同类 ...

  9. Spark SQL catalyst概述和SQL Parser的具体实现

    之前已经对spark core做了较为深入的解读,在如今SQL大行其道的背景下,spark中的SQL不仅在离线batch处理中使用广泛,structured streamming的实现也严重依赖spa ...

  10. P1320 压缩技术(续集版)

    题目描述 设某汉字由N X N的0和1的点阵图案组成,如下图.我们依照以下规则生成压缩码.连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从上到下,由左到右.第一个数表示连续有几个0 ...