CSS第二天总结 更多的选择符

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加了边框效果

时间: 2024-08-10 15:00:32

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

css之属性及剩余的选择符

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

CSS和html如何结合起来&mdash;&mdash;选择符及优先级

   1.选择符     兼容性 统配选择符 *         元素选择符 body   类选择符 .class   id选择符 #id         包含原则符 p strong     (所有后代)   子代选择符 p>strong    (紧跟子代) lte IE7  相邻选择符 h1+p          (h1后面第一个p元素) lte IE7        属性选择符 button[class]    (带有class属性的button) lte IE7    button[cl

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

结合当下作为一名net程序员,难以找到工作情况下,先学习前端知识,前端现在已成为web和app的一个交叉点,web前端化,app使用h5技术前端化,至于什么后台数据库 缓存 消息队列的路线如果没有大型项目平台的建设机会是很难能够大纵深的切入,恰恰前端通过编写微信公众号作为一个切入点,希望不会再也找不到工作,再也无法跳巢的尴尬境地. 1 css语法 选择符{属性:value}css的语法非常简单. 2 css常见简写 color:#ffffff ;color:rgb(255,255,255);rg

CSS选择符

一.选择符类型及使用 1.html标记,在CSS中可选择要实现目标的标记, 如:P{属性:值} 2.多个html标记,可在CSS中写相对的标记用逗号隔开. 如:h1,h2,h3,h4,h5{属性:值} 3.选择符在已经使用过的标记,再重复添加需在已经添加的样式下一行方可实现. 如要添加在前面,可用 [!important][IE浏览器不支持]. 如: h2{color:green !important;} h2,h3,h4,h5{color:grey; font-size:36px;} 二.id

10_css选择符类型1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

11_css选择符类型2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

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

30个你必须记住的CSS选择符 整理 本文摘自:http://yanhaijing.com/css/2014/01/04/the-30-css-selectors-you-must-memorize/ 04 January 2014 号外号外:专注于移动端的fullPage.js来啦!!!快点我查看 所以你学会了基础的id,类和后代选择符,然后你就一直用它们了吗?如果是这样,你丢失了(css的)巨大的灵活性.在本文中提到的很多选择器属于CSS3规范的一部分,因此,只有在现代浏览器中才可使用. 1

[JavaScript忍者系列] — CSS选择符引擎入门

http://www.cnblogs.com/newyorker/archive/2013/02/14/2891298.html 本文的目标读者是入门级Web前端开发人员. 本文介绍了CSS选择符表达式引擎的基本原理.CSS选择符引擎几乎是前端开发人员每天在使用的工具.本文将逐一介绍实现该引擎的各种策略.首先,我们介绍基于W3C标准API的方法. W3C标准的Slectors API 能够支持的平台: Safari 3+, Firefox 3.1+, Internet Explorer 8+,

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

CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3新增伪类有那些?CSS新增了哪些特性?下面我整理了一些,仅供参考. CSS 选择符: 1)      id选择器(# myid) 2)      类选择器(.myclassname) 3)      标签选择器(div, h1, p) 4)      相邻选择器(h1 + p) 5)      子选择器(ul > li) 6)      后代选择器(li a) 7)      通配符选择器( * ) 8)      属性选择器