复合选择器

复合选择器可以更准确、更高效的选择目标元素(标签)
由两个或多个基础选择器,通过不同的方式组合而成
复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等

后代选择器

又称包含选择器,可以选择父元素里面子元素
语法:
元素1 元素2 {样式声明}
例如:
ul li {样式声明;}//选择ul里面所有的li标签元素

  • 元素1和元素2 中间用空格隔开
  • 元素1是父级,元素2是子级,最终选择的是元素2
  • 元素2可以是儿子,也可以是孙子等,只要是元素1的后代即可 ul li a{}
  • 元素1 和元素2 可以是任意基础选择器

子选择器

只能选择作为某元素的最近一级子元素。简单理解就是选新儿子
语法:
元素1>元素2{样式声明}
表示选择元素1里面的所有直接后代(子元素)元素2
例如:
div>p {样式声明} //选择 div里面所有最近一级p 标签元素

  • 元素1 和 元素2中间用大于号隔开
  • 元素1 是父级,元素2 是子级,最终选择的是元素2
  • 元素2 必须是亲儿子,其孙子、重孙之类都不归他管,他也可以叫亲儿子选择器

并级选择器

可以选择多组标签,同时为他们定义相同的样式,通常用于集体声明
通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分
语法:
元素1,元素2 {样式声明}
例如:
ul,div {样式声明} //选择ul和div标签元素

  • 元素1 和元素2 中间用逗号隔开
  • 逗号可以理解为和的意思
  • 并集选择器通常用于集体声明

链接伪类选择器

a:link               //选择所有未被访问的链接
a:visited           //选择所有已被访问的链接、
a:hover             //选择鼠标指针位于其上的链接
a:active            //选择活动链接(鼠标按下未弹起的链接)

注意事项
为了确保生效,请按照LVHA顺序声明:link-visited-hover-active
平时开发里会写

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title></title><style>a{color: #333;text-decoration: none;}a:hover{color: #368;text-decoration:underline;}</style>
</head>
<body><a href="#">2020年8月1日头条</a>
</body>
</html>

:focus 伪类选择器
用于选取获得焦点的表单元素。主要针对表单元素
input:focus{
background-color:yellow;
}

选择器 作用 特征 使用情况 隔开符以及用法
后代选择器 用来选择后代元素 可以是子孙后代 较多 符号是空格 .nav a
子代选择 器 选择最近一级元素 只先亲儿子 较少 符号是大于 .nav>p
并集选择器 选择某些相同样式的元素 可以用于集体声明 较多 符号是逗号.nav,p,header
链接伪类选择器 选择不同状态的链接 跟链接相关 较多 重点记住a{}和a:hover 实际开发的写法
:focus选择器 选择获得光标的表单 跟表单相关 较少 input:focus 记住这个写法

元素显示模式

HTML 元素一般分为块元素行内元素两种元素

块元素

独占一行,可以对其设置高度、宽度、外边距,默认宽度是父级的100%,里面可以放很多标签
常见的有<h1>~<h6>,<p>,<div>,<ul>,<ol>,<li>等,其中<div>标签最典型的块元素

行内元素

一行可以显示多个,高、宽设置无效,默认宽度是本身内容的宽度,行内元素只能容纳文本或其他行内元素,(但是a里面可以放块级元素,但是a要转换)
常见的有<a>,<strong>,<b>,<em>,<i>,<del>,<s>,<ins>,<u>,<span>等其中<span>标签是最典型的行内元素

行内块元素

一行可以显示多个,默认宽度是它本身内容的宽度,高、宽、外边距及内边距都可以控制
常见的有<img/>,<input/>,<td> 它们同时具有块元素和行内元素的特点

元素模式 元素排列 设置样式 默认宽度 包含
块圾元素 一行只能放一个块级元素 可以设置高宽 容器的100% 容器级可以包含任何标签
行内元素 一行可以放多个 不可以直接设置宽高 它本身内容的宽度 容纳文本或其他行内元素
行内块元素 一行放多个行内块元素 可以设置宽高 它本身内容的宽度

元素显示模式转换

转换为块元素: display:block;
转换为行元素:display:inline;
转换为行内块元素:display:inline-block;

小工具snipaste

一个简单强大的截图工具,可以将截图贴到屏幕上
常用快捷键

  1. F1 打开截图,同时测量大小,设置箭头,书字文字等
  2. F3 在屏幕顶显示
  3. 点击图片,alt可以取色(shift可以切换取色模式)
  4. ESC取消图片显示

下载地址:https://zh.snipaste.com/

案例

<style type="text/css">a {display: block;width: 230px;height: 40px;background-color: #838789;color: #FFF;text-decoration: none; text-indent: 2em;line-height: 40px;}a:hover{background-color: #ff6f00;}</style></head><body><a href="#">手机 电话卡</a><a href="#">电视 盒子</a><a href="#">笔记本 平板</a><a href="#">出行 穿戴</a><a href="#">智能 路由器</a><a href="#">健康 儿童</a><a href="#">耳机 音响</a></ul></body>

设置文字垂直居中

让文字的行高跟盒子的高度相等文字就会垂直居中
line-height:xxpx;

CSS二(复合选择器)相关推荐

  1. 前端笔记(4)css,复合选择器,标签的显示模式,行高,css背景,css三大特性

    css样式表/层叠样式表(2) (1)css复合选择器 后代选择器 子元素选择器 交集选择器(不常用) 并集选择器 链接伪类选择器 (2)标签的显示模式 块级元素block-level 行内元素inl ...

  2. 0基础快速入门CSS技术栈(4)—图解详细阐述CSS的复合选择器、标签显示模式、行高、CSS背景,及最为重要的CSS三大特性附带权重计算笔试题(附详细案例源码解析过程)

    文章目录 1. 0基础快速入门CSS技术栈(4) 2. 重点提炼 3. CSS复合选择器 3.1 后代选择器(重点) 3.1.1 example01 3.2 子元素选择器 3.2.1 exmaple0 ...

  3. CSS入门---复合选择器学习与掌握

    css基础选择器的学习与掌握 一. css复合选择器分为:后代选择器,子选择器,并集选择器,伪类选择器(css选择器具体分类看我css选择器思维导图) 二. (1)后代选择器 元素1 元素2{ 声明 ...

  4. HTML CSS之复合选择器中的交集选择器、并集选择器、后代选择器、子元素选择器、相邻兄弟选择器、属性选择器

    复合选择器是通过基本选择器进行组合后构成的,常用的复合选择器有:交集选择器.并集选择器.后代选择器.子元素选择器.相邻兄弟选择器和属性选择器等. 交集选择器 交集选择器由两个选择器直接构成,其中第一个 ...

  5. 前端入坑第六弹——CSS的复合选择器和背景设置

    又是好几天没更新了,今天我来介绍一下CSS里面的复合选择器以及网页中的背景设置. 复合选择器 比起一般的基础选择器,复合选择器能够更准确.更高效地定位网页元素. 后代选择器 后代选择器可以对于父元素里 ...

  6. CSS 的复合选择器

    后代选择器 (重要) 后代选择器又称为包含选择器 例如: ul li { 样式声明 } /* 选择 ul 里面所有的 li标签元素 */ 元素1 和 元素2 中间用空格隔开  元素1 是父级,元素2 ...

  7. CSS之复合选择器(交集、并集选择器)

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...

  8. 初试CSS(二):选择器

    选择器 选择器有很多,而且各个选择器之间可以混合使用,很方便.选择器后面加的{}叫声明块,在{}中放很多的css属性.按照平常使用的习惯,选择器可以分为2类--基本选择器.其他选择器. 基本选择器包括 ...

  9. 前端之CSS篇(二)——CSS复合选择器及元素的显示模式和背景属性

    1.Emmet语法 Emmet语法是前身是Zen coding,它使用缩写,来提高html/css的编写速度,Vscode内部已经集成该语法. 1.1快速生成HTML结构语法 (1)生成标签 直接输入 ...

最新文章

  1. 汉诺塔递归与非递归算法
  2. 白话JAVA守护线程
  3. android短信安全,[原创]分析了一款android短信木马
  4. c语言将字母的acsaii,C语言上机实验 答案
  5. SDH光传输设备是什么?SDH设备特点介绍
  6. mysql分库分表面试_【53期】面试官:谈一下数据库分库分表之后,你是如何解决事务问题?...
  7. 2021级C语言大作业 - 涂鸦跳跃
  8. Sk32k144:生成hex文件和烧写(jflash)
  9. 判断链表是否中心对称(21.6.8)
  10. 本地的手机号码归属地查询-oracle数据
  11. Mybatis数据框架整合
  12. 生地中考总结(也许是对人生的感慨)
  13. activiti查询我的待办任务以及审批
  14. Two classes have the same XML type name 排错
  15. java 中 print、println 与 printf 的区别
  16. Linux命令:Nginx的启动、停止与重启
  17. Mendix公司最新调查结果显示:低代码已从企业机构应急技术进阶为核心技术
  18. Linux库函数之opendir/closedir/readdir
  19. “笨办法”学Python3,Zed A. Shaw,习题18
  20. android 基站定位

热门文章

  1. RAID5服务器磁盘阵列,两块盘坏了数据恢复
  2. ——大牛很通俗地介绍《信号与系统》
  3. 顺序表如何插入元素? 看这里!!
  4. c语言s-next,memset_s - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  5. DNP3 模拟器使用教程
  6. 云集品以共享经济为幌子因涉及传销被关闭,做社交电商防止误入
  7. 父进程退出,保证子进程交由init。
  8. 【快速幂入门】自由弹簧
  9. MATLAB坐标区应用
  10. Matlab光纤光栅仿真程序FBG 双FBG