CSS的选择符非常多,今天继续总结后面的选择符

1.id和class选择符
某些情况下我们用关系选择符或者伪类选择符无法选中一些元素时,我们可以给这些元素起

个名字或者分类,这就是id和class属性。
下面给出一个id为xxx,class为yyy的a链接:

<a href="" id="xxx" class="yyy">链接</a>

CSS代码:

#xxx{color: red} /*用#选择id(井号)*/
.yyy{text-decoration: none;} /*用.选择类(小数点)*/

  

**id是唯一的,而class可以重复,虽然这是软性规定

2.关系选择符
关系选中符又可以分为4类,强调父子和兄弟元素的运用

包含选择符:E F / 子选择符:E>F

为什么这两个要一起说?以为这两个选择符功能非常相似
包含选择符:选中E元素包含在内的一切F元素,包括子元素和子元素的子元素(所有后代)
子选择符:只选中E元素的子元素F,无法作用于子元素的子元素(仅儿子)
例如span包含div和a元素,div元素又包含a元素:

<span>
<a>链接1</a>
<div> <a>链接2</a> </div>
</span>

  

当使用包含选择符时,链接1和链接2都会变成红色字体:

span a{color: red}

  

若使用子选择符,则只有链接1变成红色字体:

span>a{color:red}

  

相邻选择符:(E+F) /兄弟选择符(E~F)

相邻选择符:忽略E元素的一切子元素,选中紧跟在E元素下面的F元素(E和F是同级元素)
兄弟选择符:同样,选中E元素所在级的所有F元素(即E和F是同级元素)

例如,div包含a和p元素,外面跟着内容为a3的a元素:

<div>
  <a>a1</a>
  <a>a2</a>
  <p>p1</p>
  <p>p2</p>
  <p>p3</p>
</div>
  <a>a3</a>

  

CSS代码:

div+a{color: green;} /*div里面的第一个a元素不受影响,同级元素a3变成绿色*/
a~p{color: red;} /*a元素的所有兄弟元素p变成红色(p1,p2,p3)*/

  

3.伪类选择符

E:link/E:visited/E:hover/E:active

这四个选择符关系紧密,旧版浏览器仅兼容超链接,而新版浏览器对hover没有太大限制
E:link为链接未激活的样式
E:visited为链接访问过的样式
E:hover为鼠标悬停的样式(不仅限于链接)
E:active为链接点击时的样式(鼠标按下,未松开的时候)

例如,下面给a链接定义未访问时为黑色且没下划线,访问后为蓝色,鼠标悬停为绿色,点击

时为红色的样式:

a:link{text-decoration: none;color: black;}
a:visited{color: blue;}
a:hover{color: green;}
a:active{color: red;}

  

E:first-of-type/E:last-of-type/E:nth-of-type(n)/E:nth-last-of-type(n)
我把它理解成兄弟队列选择,意思分别是选中第一个,选中最后一个,选中第N个,选中倒数

第N个

例如给出一个列表:

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>

  

若要第一个li为加粗字体,最后一个为蓝色字体,第二和倒数第二个为红色字体,则CSS代码如下:

li:first-of-type{font-weight: bold;}
li:last-of-type{color: blue;}
li:nth-of-type(2){color: red;}
li:nth-last-of-type(2){color: red;}

  

拓展:E:only-of-type 选中另外一个唯一的同类E元素

E:empty
选中没有任何子元素包括文本的E元素
例如:

<div><a></a></div>
<div>23</div>
<div></div>

  

CSS:

div:empty{border: 1px solid green;}

  

效果:只是第三个div加了边框效果

CSS第二天总结 更多的选择符的更多相关文章

  1. CSS 中常用的选择器(选择符)

    一.标签选择器:直接将HTML标签(Tag)作为选择器,可以是p.h1.dl.strong等HTML标签.如: p { font:12px;}em { color:blue;}dl { float:l ...

  2. css之属性及剩余的选择符

    今天的课程加速了,比平时快了些,但觉得很不错.nice~ 属性选择符 E[att]       选择具有att属性的E元素. input[type]{color: #red;} <input t ...

  3. CSS和html如何结合起来——选择符及优先级

       1.选择符     兼容性 统配选择符 *         元素选择符 body   类选择符 .class   id选择符 #id         包含原则符 p strong     (所有 ...

  4. 3 CSS 定位&浮动&水平对齐&组合选择符&伪类&伪元素

    CSS Position(定位):元素的定位与文档流无关 static定位: HTML元素的默认值, 没有定位,元素出现在正常的流中 静态定位的元素不会受到top,bottom,left,right影 ...

  5. css那些事儿1 css选择符与管理

    结合当下作为一名net程序员,难以找到工作情况下,先学习前端知识,前端现在已成为web和app的一个交叉点,web前端化,app使用h5技术前端化,至于什么后台数据库 缓存 消息队列的路线如果没有大型 ...

  6. 30个你必须记住的CSS选择符

    所以你学会了基础的id,类和后代选择符,然后你就一直用它们了吗?如果是这样,你丢失了(css的)巨大的灵活性.在本文中提到的很多选择器属于CSS3规范的一部分,因此,只有在现代浏览器中才可使用. 1. ...

  7. 整理CSS选择符

    1.星号选择器 ;; } 星号选择器将匹配页面里的每一个元素.很多开发者使用这个技巧将外边距和内边距重置为零.虽然在快速测试时这确实很好用,但我建议你永远不要再生产代码中使用它.它给浏览器带来大量不必 ...

  8. [css选择器]总结:IE6不支持的CSS选择符

    转载地址:https://www.wenjiwu.com/doc/zvsbii.html.此文最后也给出了原文地址,但是我点击过去发现是什么赌博彩票的地址,360也弹出小心的提示,所以这里只给出了我转 ...

  9. CSS选择符、属性继承、优先级算法以及CSS3新增伪类、新特性

    CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?CSS新增了哪些特性?下面我整理了一些,仅供参考. CSS 选择符: 1)      id选择器(# myid) ...

随机推荐

  1. 使用Android studio 出现的问题解决

    问题一.安装过程中出现的报错Failed to install Intel HAXM 解决:重启电脑,启动BIOS,我的是惠普的,开机时按F10就进去了 切换到Configuration选项,将设置I ...

  2. [算法]检测空间三角形相交算法(Devillers & Guigue算法)

    #pragma once //GYDevillersTriangle.h /* 快速检测空间三角形相交算法的代码实现(Devillers & Guigue算法) 博客原地址:http://bl ...

  3. Wormholes

    Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...

  4. SC.UI

    IController using Microsoft.Practices.Prism.Events; using Microsoft.Practices.Prism.Regions; using M ...

  5. WPF里的报警闪烁效果

    <esri:MarkerSymbol x:Key="FlashMarkerSymbol" OffsetX="41" OffsetY="41&qu ...

  6. javascript实现图片滚动

    闲来无事捣鼓了一个原来的js图片滚动 首先看看 静态页的结构: <body> <a href="javascript: le()">向左</a> ...

  7. jquery总结02-样式和属性

    .attr()  .removeAttr() 设置属性和移除属性,里面可以是属性,属性值 ,只有属性名时只获取第一个蒜素的属性值 .html() .text() .val()  html 获取包括标签 ...

  8. 安装openJDK 8

    1.JDK 8 示例 (1.1)Debian, Ubuntu等使用下述安装命令: $ -jre ps : openjdk-8-jre 仅包含JRE,如果需要开发java程序,需要下载openjdk-8 ...

  9. Java 中 Comparable 和 Comparator 比较

    Java 中 Comparable 和 Comparator 比较 目录: Comparable Comparator Comparable 和 Comparator比较 第二个例子 之 Compar ...

  10. springmvc的单文件上传

    @RequestMapping("/up") public ModelAndView up(MultipartFile myfiles , HttpServletRequest r ...