自学前端第十五天:伪类伪元素和属性选择器和精灵图
#一.基础伪类选择器(也是交集选择器一种,优先级也要叠加)
1.概念:某个选择器的镜像,当光标移动到盒子时会触发新的一面不同的效果,但是是短暂的而已
2.作用:伪类选择器用于向某些选择器添加特殊的效果。比如给链接添加特殊效果。
3.优先级权重:伪类分值和类名选择器一样是0,0,1,0分的,因此a:hover 叠加= 0,0,1,1(很重要!!!)
4.伪类语法结构:
① 类选择器是一个点 比如 .demo {}
②而我们的伪类 用冒号 比如 类 :link{}
a { /* a是标签选择器 所有的链接 */font-weight: 700;font-size: 16px;color: gray;}
a:hover { /* :hover 是链接伪类选择器 鼠标经过 (冒号之间不能有空格) */color: red; /* 鼠标经过的时候,由原来的 灰色 变成了红色 */
}
4.a链接伪类选择器 (大多是给a标签用的,并不是只能给a用!)
- a :link {} /* 修改未访问的链接的a链接样式,一直生效 */
- a :visited {} /* 修改已访问过后的a链接样式,并且一直生效,除非清除浏览器记录才会返回未访问时的link样式,刷新没用,慎用 */
- a :hover {} /* 修改鼠标移动到链接上,短暂生效 */
- a :active {} /* 修改鼠标摁在的链接的样式,短暂生效 */
①上面四种状态可以一起使用.,但要注意书写的顺序(,一步一步提高用户视觉感)**
②切记,如果不使用a :visited {} ,则link写了也不生效.
③书写顺序:他们的顺序尽量不要颠倒 按照 lvha 的顺序。 love hate 爱上了讨厌 记忆法 或者 lv 包包 非常 hao
<!DOCTYPE html>
<html lang="zh-cn"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>a标签的伪类选择器</title><style>* {margin: 0;padding: 0;}a:link {color: #368;}/*未访问时*/a:visited {/*已访问*/color: green;}a:hover {color: red;}/*鼠标停在链接,没按住*/a:active {/*正在激活 正在按住*/color: pink;}</style>
</head><body><a target="_blank" href="https://www.baidu.com/s">百度知道</a></body>
</html>
二.结构(位置)伪类选择器:(CSS3特有,很方便但不好理解)
1.结构伪类选择器样式结构组成:
下面的n都是可以是一个数字1234,一个关键字odd/even,或者一个公式2n / 2n+1 /3n+1 等/暂不支持次方
①E:nth-child(n) :匹配属于当前父类型E的第 N 个子元素,父子可以类型不同 (就是当前爸爸的第几个儿子)
E:first-child :选取属于其父元素的首个子元素的指定选择器
E:last-child :选取属于其父元素的最后一个子元素的指定选择器
E:nth-last-child(n) :选择器匹配E元素的第 N 个子元素的每个元素,不论元素的类型,从最后一个子元素开始计数。
(即匹配属于当前父类型E的倒数第 N 个子元素,父子可以类型不同 (就是当前爸爸的倒数第几个儿子) )
②E:nth-of-type(n): (就是找当前类型E的第n个"同级"并且"同类型"的兄弟),比找儿子元素更精准
:first-of-type: 匹配同类型中的第一个同级兄弟元素 没有() 参数
:last-of-type: 匹配同类型中的最后一个同级兄弟元素 没有() 参数
:only-of-type 匹配同类型中的唯一一个指定类型元素 没有() 参数
E:not(s) E选择器,排除指定的元素或选择器 selector为选择器,剩下所有的都生效 (not括号不能写公式了n/2n之类的)
③E:not(s) 的排除结构伪类选择器的样式还可以组合写:
[1]div:not(a) {} :找全部div标签选择器,但是除内部所有子元素为a标签的,即剩下所有子元素都能生效样式除了a
[2]div p:not(a) {}:找div下的p类型除了p内部有a标签子元素的
[3]div p:nth-of-type(2n):not(.des) {}:找div下的p类型的同级同类型2n兄弟,但除了类名为des的p兄弟
[4].des:not(a) {} :找类名为des.的标签但是除所有类名为des的a标签
[5].des:not(a):not(.c888):not(.c222) {}:类名为des.但是除了所有a标签和类名为c888和c222类名的所有标签
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HC4xkxSP-1620063559468)(C:\Users\tuyue\AppData\Local\Temp\1611642375737.png)]
④注意特殊情况:当使用类名选择器去寻找同级兄弟时,如果两个标签的类名是冲突的,该如何解决??
答案:会分开找,各自类名所属标签下的同级同类型的兄弟!
1.比如:下面的p和a标签的类名都是.des,那么他会找第一个类名为des的p标签下有没有同级同类型第三个p,结果没有
就会放弃,再次去寻找第一个类名为des的a标签下有没有同级同类型第三个a标签,结果有,就匹配类名为des的a标签而放弃p标签,因为找不到.
2.但在实际开发中也怕这样的混淆,都是用标签名p作为主体的,不会用类名,即使用类名选择器最好带上标签如:p.des.
3.因此,最终下面这图时 是类名为des的a标签的内容为3a的 生效红色.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8veM2FVJ-1620063559472)(C:\Users\tuyue\AppData\Local\Temp\1611640300713.png)]
4.而下面图, 类名为des的p和a标签都能如愿找到自己同级同类型的第三个兄弟
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zkmNt2hh-1620063559480)(C:\Users\tuyue\AppData\Local\Temp\1611639766947.png)]
5. 结构伪类选择器的应用大多在很多连续的li或者p中,可以不给li一个一个分别给class类名因为看着很冗余,就可以使用结构伪类选择器去选择里面的第几个孩子或者兄弟.
li:first-child { /* 选择第一个孩子 */color: pink;
}
li:last-child { /* 最后一个孩子 */color: purple;
}
li:nth-child(4) { /* 选择第4个孩子 n 代表 第几个的意思 */ color: skyblue;
}p:nth-of-type(3) { /* 选择第3个同类别的兄弟元素 n 代表 第几个的意思 */ background-color: #f00;
}
p:first-of-type { /* 选择每个p元素是其父级的第一个p元素*/ color: skyblue;
}
p:last-of-type { /* 选择每个p元素是其父级的最后一个p元素 */color: pink;
}
p:only-of-type { /* 选择每个p元素是其父级的唯一p元素 */color: yellow;
}
p:not(.desc) { /* 选中除了类名为desc的其他p标签*/color: green
}
三.伪元素选择器(双冒号:
自学前端第十五天:伪类伪元素和属性选择器和精灵图相关推荐
- 自学前端第二十五:web字体图标使用
web字体图标:本质是字体,伪元素联用的 出现一个白色框即字体失效的检查: ①路径那里是不是fonts文件夹的第一子路径就是全部的文件. ②/+unicode编码 和 转义编码 有没有弄棍 (一个给c ...
- JAVASE基础模块十五(StringBuffer类)
JAVASE基础模块十五(StringBuffer类) public class Stbuffer { public static void main(String[] args) { //总共创建五 ...
- Linux(b站视频兄弟连)自学笔记第十五章——启动管理
Linux(b站视频兄弟连)自学笔记第十五章--启动管理 CentOS 6.x启动管理 系统运行级别 系统启动过程 启动引导程序grub Grub配置文件 Grub加密与字符界面分辨率调整 系统修复模 ...
- HTML5 CSS3提高 11-01 新增标签及属性 表单 多媒体 结构伪类 伪元素 过渡 小米log jd进度条
HTML5新特性 1.语义化标签 (★★) <header> 头部标签 <nav> 导航标签 <article> 内容标签 <section> 定义文档 ...
- 伪类 伪元素 如何区分
前段时间在写网页的时候,使用了CSS的伪元素:after来实现样式,故而重温了一下伪类和伪元素.平时实现的时候便是拿出来用,但是真正区分两者的概念的时候却有点混淆了. 首先,查看一下W3S对伪类和伪元 ...
- 学习笔记(10)伪类伪元素
目录 1,伪类 2,伪元素 3,伪类伪元素的区别 3.1,相同点 3.2,不同点 1,伪类 w3c的定义:CSS伪类是用来添加一些选择器的特殊效果. 伪类是指原本存在的标签,在满足某些条件的情况下,就 ...
- 【web】伪类伪元素
伪类伪元素 伪类选择器 可以理解为描述元素的某种状态 常用伪类 a标签的4种伪类(要按顺序书写:link.visited.hover.active) :link:元素链接点击前的样式 :visited ...
- DAY 10 | 自学前端第十天
从今天开始,一天都不能断. 今天学HTML5和CSS提高. 目标: 能说出3-5个HTML5新增布局和表单标签: 能够说出CSS3的新增特性有哪些 一.HTML5的新特性 增加了新的标签,新的表单,新 ...
- 自学前端第二十九天 CSS高级之细节技巧
第二十九天 css高级细节技巧 一.background-color :属性设置元素的背景颜色. 定义和用法 background-color 属性设置元素的背景颜色. 元素背景的范围 backgro ...
最新文章
- CentOS 7下使用Gitolite搭建Git私服
- 上所说的计算机主机是什么意思,通常所说的主机指什么
- 获取js里添加的css文件,用JS添加一个css文件
- Spring框架 DI
- Bundler和Minifier Visual Studio扩展
- 360手机卫士大数据驱动犯罪打击 配合警方破案成果显著
- 10.210.3 Xcode开发包
- java根据车牌号获取车辆归属地
- java如何创建长连接_Java如何实现长连接
- 饱和气压与温度的关系_饱和水蒸汽的压力与温度的关系介绍
- CSS教程:vlink,alink,link和a:link
- 2018年9月网易游戏雷火防护工程师秋招线下笔试
- 一个人、一本书、一杯茶、一场梦
- 飞蛾逐月优化算法(Matlab实现)
- 毫米波雷达 3发4收 阵列信号回波模拟(基于信号的延时来建模)以及DOA和MVDR方法测角 (二)
- 回答你心中的疑问,进行商城网站建设需要多少钱?
- Fedora14 Samba 配置
- LITTELFUSE(力特)样片申请与经验
- 拼多多无货源————新店的运营和上货助手
- 2020 零基础 Vue快速入门 教开发天气查询网页—天知道(激发编程乐趣)【整理+源码】
热门文章
- 8255A方式0应用
- lintcode----解码方法
- mysql 一些命令 杂乱
- WhatsApp客服系统,为什么使用SendWS拓客系统实现WhatsApp客服系统多账号管理?
- Python基础-2-数据类型文件操作
- 基于asp.net高考志愿填报参考信息管理系统#毕业设计
- 矩阵乘法的并行化算法讨论
- C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析
- 解决 CMD 命令行中文件路径有空格
- cmd命令打印当前文件夹下所有文件的绝对路径并存到指定的文件内
web字体图标:本质是字体,伪元素联用的 出现一个白色框即字体失效的检查: ①路径那里是不是fonts文件夹的第一子路径就是全部的文件. ②/+unicode编码 和 转义编码 有没有弄棍 (一个给c ...
JAVASE基础模块十五(StringBuffer类) public class Stbuffer { public static void main(String[] args) { //总共创建五 ...
Linux(b站视频兄弟连)自学笔记第十五章--启动管理 CentOS 6.x启动管理 系统运行级别 系统启动过程 启动引导程序grub Grub配置文件 Grub加密与字符界面分辨率调整 系统修复模 ...
HTML5新特性 1.语义化标签 (★★) <header> 头部标签 <nav> 导航标签 <article> 内容标签 <section> 定义文档 ...
前段时间在写网页的时候,使用了CSS的伪元素:after来实现样式,故而重温了一下伪类和伪元素.平时实现的时候便是拿出来用,但是真正区分两者的概念的时候却有点混淆了. 首先,查看一下W3S对伪类和伪元 ...
目录 1,伪类 2,伪元素 3,伪类伪元素的区别 3.1,相同点 3.2,不同点 1,伪类 w3c的定义:CSS伪类是用来添加一些选择器的特殊效果. 伪类是指原本存在的标签,在满足某些条件的情况下,就 ...
伪类伪元素 伪类选择器 可以理解为描述元素的某种状态 常用伪类 a标签的4种伪类(要按顺序书写:link.visited.hover.active) :link:元素链接点击前的样式 :visited ...
从今天开始,一天都不能断. 今天学HTML5和CSS提高. 目标: 能说出3-5个HTML5新增布局和表单标签: 能够说出CSS3的新增特性有哪些 一.HTML5的新特性 增加了新的标签,新的表单,新 ...
第二十九天 css高级细节技巧 一.background-color :属性设置元素的背景颜色. 定义和用法 background-color 属性设置元素的背景颜色. 元素背景的范围 backgro ...