尚硅谷html5+css3(2)CSS5基本知识

1.网页分为三个部分:

结构:HTML

表现:CSS

行为JavaScript

CSS:层叠样式表,网页实际上是一个多层结构,通过CSS可以分别为网页的每一个层来设置样式,最终用户只看最上面的一层,总之,CSS用来设置网页中元素的样式

2.使用CSS修改元素的样式:

(1)在标签内部通过style属性设置元素的样式(内联样式,只能对一个标签生效,一般不用)

<p style="color: red;font-size: 60px;"> style </p>

(2)将样式编写到head的style标签中(内部样式表:可以同时为多个标签设置样式,修改时只用修改次此处即可)(但只能对一个页面起作用)

例:使所有p标签都为绿色:


<head><style>p { color: green; }</style>
</head>

(3)对多个网页起作用(外部样式表)

将CSS样式编写到一个外部CSS文件中,使样式在不同页面复用。还可以使用浏览器的缓存机制,从而加快网页的加载速度,提高用户体验

即创建style.css文件:

 p { color: green; }

通过link标签引入外部CSS文件

<link rel="stylesheet" href="./style.css">

3.CSS的基本语法

在<style>标签中不属于html,所以要用CSS的标准写

<head><style>/*CSS注释*//*CSS基本语法:选择器 声明块选择器:通过选择器可以选中页面中指定元素例:h1:选中页面所有h1元素声明块:通过声明块来指定要为元素设置的格式例:color: blue;最后一个;可以省略*/h1 {color: blue;}</style>
</head><body><h1> 111 </h1>
</body>

4.CSS的常用选择器

(1)元素选择器

<head><style>/*元素选择器:作用:根据标签名选中指定的元素语法:标签名+{}例子:p{} h1{} div{}*/p {color: blue;}</style>
</head><body><h1> 111 </h1><p> p1 </p><p> p2 </p>
</body>

(2)id选择器(设置id时保证唯一性)

<head><style>/*若将第二行的p单独设置为红色,则使用id选择器作用:根据元素的id属性选中一个元素语法:#+id+{}例子:#12{color:red}*/#abc {color: red}</style>
</head><body><h1> 111 </h1><p> p1 </p><p id="abc"> p2 </p>
</body>

(3)class标签(多个class用空格隔开)

<head><style>/*类选择器:class是一个标签的属性,他和id相似,不同的是class可以重复使用作用:根据元素的class属性值选中一组元素语法:.+class+{}*/.abc {color: red}.bc {font-size: 50px;}</style>
</head><body><h1> 111 </h1><p> p1 </p><p class="abc bc"> p2 </p><p class="abc"> p3 </p>
</body>

(4)通配选择器

<head><style>/*通配选择器作用:选中页面中的所有元素语法:**/*{color: red}</style>
</head>
<body><h1> 111 </h1><p> p1 </p>
</body>

5.复合选择器

(1)交集选择器 .

<head><style>/*将class为red的div字体大小设置为30px使用交集选择器作用:选中同时复合多个条件的元素语法:选择器1+.+选择器2+{}注意:若有元素选择器,则用元素选择器开头*/div.red {font-size: 30px;}</style>
</head><body><div class="red"> div </div><p class="red"> p </p>
</body>

(2)并集选择器 ,

<head><style>/*同时选中h1和span设置为绿色使用并集选择器作用:同时选择多个选择器对应的元素语法:选择器1+,+选择器2+{}注意:若有元素选择器,则用元素选择器开头*/h1,span {color: green;}</style>
</head><body><h1 class="red"> div </h1><span class="red"> p </span>
</body>

6.关系选择器

<body><div>我是div<p>我是div中的p<span>我是div-p-span</span></p><span>我是div-span</span></div>
</body>

(1)子元素选择器

<head><style>/*为div的子元素span(不是p里的span)设置一个字体颜色:红色子元素选择器作用:选中指定父元素的指定子元素*/div > span {color: red;}</style>
</head>

(2)后代元素选择器

  /*后代元素选择器*/div span {color: red;}

(3)兄弟元素选择器

        /*兄弟元素选择器:(都是选择后面的)选择下一个兄弟语法:当前+下一个(要修改的)选择下面所有兄弟语法:兄~弟(要修改的)*/p + span {color: red;}p ~ span {color: red;}

7.属性选择器

<body><p title="a"> 1</p><p title="ab"> 2</p><p title="c"> 2</p><p> 3</p>
</body>
        /*属性选择器1:[属性名],让p标签中有title的颜色变为红色(不关注title里的具体值)选择含有指定属性的元素 */p[title] {color: red;}

 /*属性选择器2:[属性名=属性值],让p标签中title=b的颜色变为红色选择含有指定属性和属性值的元素*/p[title=a] {color: red;}

 /*属性选择器3/4/5:[属性名^=属性值],选择以属性值开头的元素例:选择以a开头的元素[属性名¥=属性值],选择以属性值结尾的元素[属性名*=属性值],选择属性值中含有某元素的元素*/p[title^=a] {color: red;}

8.伪类选择器

<head><style>/*将ul里的第一个li设置为红色*/ul > li.first {color: red;}</style>
</head><body><!--ul>5*li--><ul><li class="first">第1个</li><li>第2个</li><li>第3个</li><li>第4个</li><li>第5个</li></ul>
</body>

这个将第一个li设置为红色,若添加li在此前面,则新的第一个li不为红色

解决方法:使用伪类选择器

<head><style>/*将ul里的第一个li设置为红色*//*使用伪类(用来描述一个元素的特殊状态)比如:第一个元素/被点击的元素伪类一般情况下用:开头*//*:first-child:冒号前面元素的第一个子元素(总可以确保第一个为红色)*/ul>li:first-child {color: red;}/*:last-child:冒号前面元素的最后一个子元素(总可以确保最后一个为绿色)*/ul>li:last-child {color: green;}/*:nth-child(n):冒号前面元素的第n个子元素(总可以确保第n个为蓝色)若()写n:全选(n取0~正无穷)若()写2n/even:选中偶数位的元素若()写2n+1/odd:选中偶数位的元素*/ul>li:nth-child(3) {color: blue;}/*这些伪类是根据所有子元素进行排序即若最前面加span,则都不生效 要用ul>span:first-child选第一个*//*:first-of-type  :last-of-type  :nth-last-of-type()功能与上述相同找相同类型的第?个,即使用:first-of-type可以在span加入的情况下对第一个li进行改变*/</style>
</head><body><!--ul>5*li--><ul><li>第1个</li><li>第2个</li><li>第3个</li><li>第4个</li><li>第5个</li></ul>
</body>

<head><style>/*:not()否定伪类将符合条件的元素从选择其中去除*/ul>li:not(li:nth-child(2)) {color: aqua;}</style>
</head>

10.超链接的伪类

<head><style>/*一般不用*//*link和visited只适用于a*//*:link:表示没访问过的链接*/a:link {color: red;}/*:visited:表示访问过的链接,只能改颜色*/a:visited {color: green;}</style>
</head>
<!--通过伪类区分:1.没访问过的链接2.访问过的链接
--><body><a href="https://www.baidu.com/"> 访问过的链接</a><br><br><a href="https://www.baidu.com/"> 没访问过的链接</a>
</body>

表示鼠标移入的状态:a:hover  表示鼠标点击的状态:a:active(这两个所有元素都可以用)

<head><style>/*表示鼠标移入的状态:a:hover*/a:hover {color: red;}/*表示鼠标点击的状态:a:active*/a:active {font-size: 30px;color: green;}</style>
</head>
<!--通过伪类区分:1.没访问过的链接2.访问过的链接
--><body><a href="https://www.baidu.com/"> 链接1</a><br><br><a href="https://www.baidu.com/"> 链接2</a>
</body>

11.伪元素选择器

<head><style>/*伪元素:表示页面中一些特殊的元素(如首字母)::first-letter:第一个字母::first-line:第一行::selection:鼠标选中的内容*/p::first-letter {font-size: 50px;}p::first-line {background-color: yellow;}p::selection {color: green;}</style>
</head><body><!--首字母下沉--><p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Minima obcaecati iusto, illum sapiente consequatur hicharum exercitationem perspiciatis deleniti? Autem ducimus qui recusandae impedit voluptatum voluptate quibusdamesse dignissimos pariatur.</p>
</body>

<head><style>/*伪元素:表示页面中一些特殊的元素(如首字母)::before 元素起始位置  在>和h之间::after 元素最后位置  在u和<之间before和after必须结合content使用(添加内容)*/div::before{content: 'abc';color: red;}div::after{content: 'hhhhh';color: green;}</style>
</head><body><div>hello hello how are you</div>
</body>

12.样式的继承

<head><style>/*样式的继承:我们为一个元素设置的样式同时也会应用到它的后代上并不是所有的样式都会被继承,比如背景、布局相关的不会被继承*/p{color: red;}</style>
</head>
<!--span元素继承了父亲p的style-->
<body><p>我是一个p元素<span>我是p元素中的span元素</span></p>
</body>

13.选择器的权重

<head><style>div {color: yellow;}.red {color: red;}</style>
</head>
<!--样式的冲突:当我们通过不同的选择器选中相同的元素,并为相同的样式设置不同的值发生样式冲突时,应用哪个样式由选择器的权重(优先级)决定选择器的权重从高到低:内联样式,id选择器,类和伪类选择器,元素选择器若优先级相同,则优先使用下面的样式可以在某样式后面加!inportant,则此样式为最高优先级
--><body><div id="box1" class="red">我是div</div>
</body>

14.像素和百分比

<head><style>.box1 {/*长度单位:像素 px百分比*/width: 200px;height: 200px;background-color: orange;}.box2 {/*百分比:将属性设置为相对于其父元素属性的百分比使用百分比可以使子元素跟随父元素的改变而改变*/width: 50%;height: 70%;background-color: green;}</style>
</head>
<body><div class="box1">11 <div class="box2">22</div></div>
</body>

<head><style>html{font-size: 50px;}.box1 {/*em:相对于元素的字体大小来计算的1em=1font-sizeem会根据字体大小的改变而改变*/font-size: 20px;width: 10em;height: 10em;background-color: red;}.box2 {/*rem:相对于根元素(html)的字体大小来计算的1em=1font-sizeem会根据字体大小的改变而改变*/font-size: 50px;width: 10em;height: 10em;background-color: blue;}</style>
</head><body><div class="box1">11 <div class="box2">22</div></div>
</body>

15.RGB/RGBA值:

使用颜色名,比如red,yellow等

使用RGB值,0~255(0%~100%之间)

使用RGBA,A代表不透明度,用.n表示(1表示完全不透明,0表示完全透明)

使用十六进制的RGB值:#红色绿色蓝色,如果两位重复可以简写,例:#ffffff可以简写为#fff

16.HSL/HSLA值:

H:色相  (0-360)

S:饱和度 颜色的浓度(0-100)

L:亮度 (0-100)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797939.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蚁群优化算法(Ant Colony Optimization Algorithm)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 算法引言 蚁群算法&#xff0c;是一种模拟蚂蚁觅食行为的优化算法。想象一下&#xff0c;当你在野餐时&#xff0c;不小心洒了一些糖在地上。一…

免疫检查点信号转导和癌症免疫治疗(文献)

目录 基础 介绍 免疫检查点的表面调控&#xff08;细胞膜层面&#xff09; ​编辑 PD-1调节 PD-L1调节 CTLA-4 调节 检查点信号通路 关于靶点研究 展望 Immune checkpoint signaling and cancer immunotherapy - PubMed (nih.gov) 基础 【中英字幕】肿瘤免疫疗法之免…

分享10个免费高可用的GPT3.5和4.0网站并做功能测试【第一个】

1.介绍 网址&#xff1a;直接点&#xff1a;aicnn 或者 www.aicnn.cn 基于ChatGPT可以实现智能聊天、绘画生成、高清文本转语音、论文润色等多种功能&#xff0c;基于sd和mj实现的绘画功能&#xff0c;下面是功能测试&#xff1a; 博主从 1.GPT3.5是否完全免费/是否限制频率、…

MySQL学习笔记------事务

事务 事务是一组操作的集合&#xff0c;他是一个不可分割的单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败 事务操作 create table account(id int comment ID,name varchar(10) …

Spring 中类似 aBbb 单字母单词序列化与反序列问题

文章目录 前言代码准备问题排查lombok自定义生成 get、set 结合源码解析使用 lombok使用 lombok 自定义生成 user 对象 get、set 方法 如何解决使用注解 JsonProperty("aTest")自定义实现符合 Spring 规范的 get set 方法 个人简介 前言 最近在使用 spring boot mvc…

Linux下Qt生成程序崩溃文件

文章目录 1.背景2.Qt编译生成程序2.1.profile模式的本质 3.执行程序&#xff0c;得到core文件4.代码定位4.1.直接使用gdb4.2.使用QtCreator 5.总结6.题外话6.1.profile模式和debug模式的区别 1.背景 在使用Qt时&#xff0c;假如在windows&#xff0c;当软件崩溃时&#xff0c;…

C++11右值引用

传统的C语法中就有引用的语法&#xff0c;而C11中新增了的右值引用语法特性&#xff0c;所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用&#xff0c;都是给对象取别名。 左值与左值引用 左值是一个表示数据的表达式(如变量名或解引用的指针)&…

C++面试经典问题

常见问题&#xff1a;智能指针、多态、虚函数、STL原理、链表、排序、二叉树、设计模式、线程进程、内存 对象所有权 在接触智能指针之前首先要理解对象的所有权是什么&#xff0c;在这之前我们总是用new和delete来进行内存的申请与释放&#xff0c;在这种堆内存分配的方式中…

springboot国际化多语言

1,新建国际化多语言文件 在resources目录下新建 messages.properties 其他语言的文件 编辑messages.properties文件,下方从text切换到Resource Bundle ,即可对照着编辑多语言文件 (如果没有找到Resource Bundle,先在settings->plugins中安装Resource Bundle Editor) 2,配…

Lumos学习王佩丰Excel第二讲:单元格格式设置

今天学会GIF录制了&#xff0c;分享知识会更简便一些&#xff0c;话不多说&#xff0c;开始吧~ 一、美化表格 1、设置单元格格式的路径 从菜单栏进入&#xff1a; 选中区域&#xff08;单元格&#xff09;- 右键“设置单元格格式”&#xff1a; 2、合并单元格 合并一行 批量…

5.3 用栈翻转数组,动态规划求斐波那契数列

5.3 用栈翻转数组&#xff0c;动态规划求斐波那契数列 1. 用栈翻转数组 assume cs:code,ds:data,ss:stack data segmentarr dw 1111h,2222h,3333h,4444h,5555h,6666h,7777h,8888hres db 800 dup(0) data endsstack segmentdb 100 dup(0) stack endscode segmentstart:mov ax,…

YOLOv8模型剪枝实战:Network Slimming网络瘦身方法

课程链接&#xff1a;YOLOv8模型剪枝实战&#xff1a;Network Slimming网络瘦身方法_在线视频教程-CSDN程序员研修院 YOLOv8是一个当前非常流行的目标检测器&#xff0c;本课程使用Network Slimming&#xff08;网络瘦身&#xff09;剪枝方法对YOLOv8进行模型剪枝&#xff0c;…

力扣347. 前 K 个高频元素

思路&#xff1a;记录元素出现的次数用map&#xff1b; 要维护前k个元素&#xff0c;不至于把所有元素都排序再取前k个&#xff0c;而是新建一个堆&#xff0c;用小根堆存放前k个最大的数。 为什么是小根堆&#xff1f;因为堆每次出数据时只出堆顶&#xff0c;每次把当前最小的…

手动实现Tomcat底层机制+自己设计Servlet

文章目录 1.Tomcat整体架构分析自己理解 2.第一阶段1.实现功能2.代码1.TomcatV1.java 3.调试阶段1.阻塞在readLine导致无法返回结果 4.结果演示 3.第二阶段1.实现功能2.代码1.RequestHander.java2.TomcatV2.java 3.调试阶段1.发现每次按回车会接受到两次请求 4.结果演示 4.第三…

[dvwa] Command Injection

命令注入 0x01 low 没有过滤&#xff0c;直接利用 127.0.0.1 && ip a 函数 php_uname(mode) 动态地检查服务器的操作系统 ‘s’&#xff1a;操作系统名称 ‘n’&#xff1a;网络主机名 ‘r’&#xff1a;操作系统发行版本号 ‘v’&#xff1a;操作系统版本 ‘m’&…

书籍《笔记的方法》读后感

读完《笔记的方法》有几周的时间&#xff0c;书里有些记录的内容&#xff0c;觉得非常有价值的&#xff0c;自己的观点&#xff0c;当下读书&#xff0c;其实并没有那么高大尚&#xff0c;就是存粹陶冶下情操&#xff0c;读书还是有一定作用的&#xff0c;毕竟看书只能慢慢来&a…

淘宝API接口详解:如何高效利用API进行电商开发

淘宝API接口详解&#xff1a;如何高效利用API进行电商开发 请求示例&#xff0c;API接口接入Anzexi58 在电商行业蓬勃发展的今天&#xff0c;淘宝作为国内最大的电商平台之一&#xff0c;为商家和开发者提供了丰富的API接口。这些接口使得电商开发变得更加高效和便捷。本文将详…

【算法篇】三道题理解算法思想——认识BFS

BFS&#xff08;宽搜&#xff09; 宽度优先遍历和深度优先遍历组成了大家熟悉的搜索算法&#xff0c;这两种算法也是蓝桥杯之类竞赛题的常考思想&#xff0c;正巧马上蓝桥杯临近&#xff0c;博主也是刷了很多BFS相关的题型&#xff0c;在这篇文章中会从力扣上选取三道简单的宽搜…

一键无痕清理:高效删除Mac文件夹,释放宝贵存储空间

在当今重视隐私的时代&#xff0c;当转让或出借Mac电脑时&#xff0c;确保个人文件和敏感信息彻底清除至关重要。常规删除Mac上的文件和文件夹仅使数据看似消失&#xff0c;实际上它们仍驻留在硬盘上&#xff0c;存在被数据恢复软件找回的风险。为实现不可逆的删除效果&#xf…