首页 > 其他分享 >CSS3学习笔记

CSS3学习笔记

时间:2023-01-19 00:44:05浏览次数:42  
标签:CSS3 匹配 attr 标签 元素 笔记 学习 选择器 属性

CSS3学习笔记

 

 

 

 

 

 

 

 

 

 

 

 

CSS3选择器总结(表格)

html标签有2种关系:包含关系和并列关系;

CSS3选择器分类:基本选择器、组合选择器、属性选择器、伪类选择器;

伪类选择器分类:动态伪类、结构伪类、状态伪类、目标伪类;

 

名称

含义

举例

基本选择器

标签选择器

按照标签名称进行定位;

将样式应用于特定标签;

p{font-size:12px;}

h1{font-color:red;}

类选择器 .

用点.表示类选择器;

后面跟一个自定义的类名class=“name”;

将样式应用于类名相同的标签;

<style>

.name{font-size:12px;}

</style>

ID选择器#

#表示id选择器;后跟一个自定义id;

将样式应用于id值匹配的标签;

#myid{font-size:12px;}

通配选择器*

*表示通配选择器,后面什么都不用跟;

*表示将样式应用于所有标签;

*{margin:0;}

*{padding:10;}

组合选择器

包含选择器

后代选择器

空格表示包含选择器,将某个选择器和另一个选择器用空格隔开,表示选择第一个选择器内的所有的第二个选择器;使用空格作为结合符。与子元素选择器相比,>作用于元素的第一代后代,空格作用于元素的所有后代。

包含选择器不仅仅作用于儿子辈,孙子穷孙子,只要是辈包含的标签,全部适用;

div span{font-size:18px;}

表示div标签中包含的所有span标签,字体全都设置为18px;

#main p{font-size:14px;}

表示id为main的标签中的所有p标签字体,全都设置为14px;

子选择器>

儿子选择器

用大于符号(>)(子结合符),用于选择指定标签元素的第一代子元素;

如果是孙子辈的标签,则不会匹配,只匹配直接包含的子标签;

可以匹配所有的第一代子标签;

div>span{font-size:14px;}

匹配div标签下的第一代span标签,而不匹配孙子辈的标签;

可以匹配所有子辈标签;

相邻选择器+

第一个选择器指定前置元素,第二个选择器指定其后的第一个同级标签;

兄弟关系不能互换,兄在前,弟在后;

不管相邻的兄弟被嵌套了多少层,只要满足相邻的兄弟关系,就可以匹配;

p+h3{background:red;}

表示p后面紧跟着并列关系的h3,才会匹配,再往后的h3就不会 匹配了;

兄在前,弟在后:p前面的h3则不会匹配;

兄弟选择器~

第一个选择器指定前置元素,第二个选择器指定其后的所有同级标签;

兄弟关系不能互换,兄在前,弟在后;

兄弟选择器匹配其后的所有弟弟,相邻选择器只匹配其后相邻的弟弟

p~h3{background:red;}

表示p后面的所有并列关系的h3,全都匹配;

兄在前,弟在后:p前面的h3则不会匹配;

 

分组选择器,

相当于多个选择器同时使用某种样式;

相当于集体声明;

h1,h2,h3,h4,h5{background:green;}

表示h1到h6的所有标签背景色都是绿色;

属性选择器

E[attr]

E表示标签名称;

attr表示属性名称;

匹配含有attr属性名称的E标签;

.nav a[id]{background=red;}

.nav表示class=“nav”的标签;

空格表示包含关系,也就是.nav所包含的各级所有匹配项;

a表示a标签;

[id]表示a标签中有id属性;

a[id][href]表示同时拥有id属性和href属性的a标签;

E[attr=”val”]

标签名称为E,并且含有名称为attr的属性,并且该属性的值为val;

p[id=”first”]表示拥有id属性,并且id属性的值等于first的p标签;

E[attr~=”val”]

标签名称为E,并且含有名称为attr的属性,并且该属性的值是一个列表(空格隔开),这个列表中含有val值;

<a href=”#”title=”i am a good boy”></a>

a[title~=”good”]就会匹配上面的a标签,因为该按标签的title属性是一个列表,列表中有5个元素,分别是i、am、a、good、boy,第四个元素正好匹配;

E[attr^=”val”]

标签名称为E,并且含有名称为attr的属性,并且该属性的值以val开头;

a[href^=”https”]将匹配链接到https网址的所有a标签,而不会匹配链接到http网址的a标签;

E[attr$=”val”]

标签名称为E,并且含有名称为attr的属性,并且该属性的值以val结尾;

a[href$=”png”]将匹配链接到png图片的所有a标签,而链接到jpg图片的链接和链接到网页的链接将不会匹配;

E[attr*=”val”]

标签名称为E,并且含有名称为attr的属性,并且该属性的值包含val;

a[href*=”baidu.com”]将匹配链接中含有baidu.com子字符串的所有a标签;

E[attr|=”val”]

标签名称为E,并且含有名称为attr的属性,并且该属性的值以val开头或者以val-开头;

a[lang|=”zh”]将匹配lang属性值以zh开头或者以zh-开头的的所有a标签;

伪类选择器

动态伪类

(鼠标事件)

动态伪类匹配页面的交互动作事件;

例如鼠标点击事件、鼠标悬停事件等;

a:link{color:gray;}没有被访问的链接前景色为灰色;

a:visited{color:yellow;}访问后

a:hover{color:green;}悬停

a:active{color:gray;}点击时

结构伪类

(索引查找)

:first-child第一个子元素

:last-child最后一个子元素

:nth-child

:nth-last-child

:nth-of-type

:nth-last-of-type

:first-of-type第一个子元素

:last-of-type最后一个子元素

:only-child唯一子元素

:only-of-type唯一子元素

:empty元素里面没有任何内容

 

.post p:only-child表示,如果post只有这一个子元素p,就改变post的样式;

.post p:only-type表示,如果post中的p类型元素只有一个,就改变post的样式;

 

 

n表示从0开始的整数;

li:nth-child(n)所有li元素;

li:nth-child(3)第三个li元素;

li:nth-child(2n)下标为偶数的li元素;等价于li:nth-child(even)

li:nth-child(n+5)表示从第五个开始向后选择所有li元素;

li:nth-child(-n+5)表示选择下标为5/4/3/2/1/0的元素;

li:nth-child(3n+1)表示选择下标为1/4/7/10...的元素;

nth-last-child表示从后往前选;

p:nth-of-type(even)表示每隔一个p匹配一次样式;

状态伪类

(控件状态)

:enabled可用状态的元素

:disabled禁用状态的元素

:checked选中状态的元素

 

 

<input type=”text”>匹配input:enabled

<input type=”button” disabled=”disabled”>匹配input:disabled

<input type=”radio” checked=”checked”/>匹配input:checked

目标伪类

(锚点链接)

目标伪类的形式为E:target,它表示当选择匹配E的所有元素,并且匹配元素被相关URL指向;只有当URL指向该元素时,样式才生效;

div:target{background:red;}

在浏览器中输入URL并附加#red,以锚点方式链接到<div id=”red”>时,该元素会立即显示红色背景;

 

end

标签:CSS3,匹配,attr,标签,元素,笔记,学习,选择器,属性
From: https://www.cnblogs.com/zhangdezhang/p/17055061.html

相关文章

  • 扩欧学习笔记
    扩欧这玩意儿暑假就学了,但是一直仅限于背\(y=\cdots\),背完就忘,于是搞个学习笔记加深印象。解方程\(ax+by=\gcd(a,b)\)设\(ax_1+by_1=\gcd(a,b)\),\(bx_2+(a\modb)y_2=......
  • 2023.1.2~2023.1.18 学习总结
    这一段时间学的东西还是蛮多的,所以稍微总结一下左偏树左偏树是堆的一种,具有堆的性质,同时支持快速合并,所以也被称为可并堆。先来看一些定义:我们把一个左子树或右子树为......
  • CSS3选择器总结(表格)
    CSS3选择器总结(表格)html标签有2种关系:包含关系和并列关系;CSS3选择器分类:基本选择器、组合选择器、属性选择器、伪类选择器;伪类选择器分类:动态伪类、结构伪类、状态伪类......
  • SpringBoot源码学习3——SpringBoot启动流程
    系列文章目录和关于我一丶前言在《SpringBoot源码学习1——SpringBoot自动装配源码解析+Spring如何处理配置类的》中我们学习了SpringBoot自动装配如何实现的,在《Sprin......
  • JavaScript学习笔记—instanceof和hasOwn
    1.instanceof用来检查一个对象是否是一个类的实例检查的是对象的原型链上是否有该类实例(只要原型链上有该类实例,就会返回true)Object是所有对象的原型,所以任何对象和Ob......
  • 学习笔记——Tomcat中的结点(Server、Service、Connector、Container、Engine、Host、C
    2023-01-18一、Tomcat中的结点1、Server(服务器)Server代表整个Tomcat服务器,一个tomcat只有一个ServerServer中包含至少一个Service组件,用于提供具体服务。2、ServiceS......
  • LINUX学习之文件基本属性(二)
    查看文件属性Linux系统是一种典型的多用户系统,不同的用户处于不同的地位并拥有不同的权限。在Linux系统中,通常使用chown命令来修改文件或目录的所有者,chmod命令则用......
  • JavaScript学习笔记—原型对象
    1.访问一个对象的原型对象(1)对象.__proto__(2)Object.getPrototypeOf(对象)一般用第二种,第一种不安全2.原型对象中的数据(1)对象中的数据(属性、方法等)(2)constructor(对象......
  • 学习笔记——Spring声明式事务管理;Spring中支持事务管理;使用声明式事务管理;Spring声明
    2023-01-18一、Spring声明式事务管理1、事务四大特征(ACID)(1)原子性(2)一致性(3)隔离性(4)持久性2、事务三种行为(1)开启事务:connection.setAutoCommit(False)(2)提交事务:conne......
  • 「学习笔记」后缀自动机与广义后缀自动机
    本文仅为方便理解,没有具体证明过程,推荐理解主要原理后去阅读详细证明过程。后缀自动机是一个处理字符串子串相关问题的优秀的算法。引入首先来考虑这样一个问题:如何存......