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. POJ 2516:Minimum Cost(最小费用流)

    https://vjudge.net/problem/11079/origin 题意:有N个商店和M个供应商和K种物品,每个商店每种物品有一个需求数,每个供应商每种物品有一个供应量,供应商到商店之间的 ...

  2. 解决PowerDesigner 生成Sql2005-2012 找不到sysproperties表的问题

    造成此问题的原因是由于Sql 2005 删除了系统表 sysproperties 而改用 sys.extended_properties 表所致 ,微软的目的不再去猜测网上有二种解决方式 但不符合本人 ...

  3. 修改mysql表结构,添加一个主键索引自增字段,修改原来的主字段为普通字段

    原来有一个字段id,为自增,主键,索引.现在要新增一个字段s_id为自增,主键,索引.同时把原来的主字段改成普通字段,默认值为0. Alter table e_diamond_jhds change ...

  4. print函数

    python中print既可以写成print a,也可以写成print(a) >>> a=1 >>> print a 1 >>> print(a) ...

  5. C中测试时间代码

  6. centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)

     1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...

  7. [转](四)unity4.6Ugui中文教程文档-------概要-UGUI Visual Components

    转自孙广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unitymanual ...

  8. MySQL安装(转)

    本文介绍MySQL的安装 可以单独阅读,也可以作为PHP环境搭建的一部分 PHP完整配置信息请参考 http://www.cnblogs.com/azhe-style/articles/php_env ...

  9. 14.KVM安装之脚本和镜像目录树准备

    1.php脚本需要先安装PHP环境,Apache服务器必须支持PHP $ yum install -y php    #安装PHP $ php -v                      #查看是 ...

  10. Consul Template的简单使用

    Consul Template的使用 1安装 地址 https://github.com/hashicorp/consul-template/releases wget https://release ...