一、第一部分
1.标签选择器
该部分主要介绍css各种选择器及其注意事项与用法。
**1.标签选择器()tag选择器:**如div{}对应div标签
使用场景:1.去掉某些标签的默认样式时
2.复杂的选择器中,如层次选择.
**2.群组选择器()分组选择器:**可以通过逗号的方式,给多个不同的选择器添加统一的css样式,来达到代码的复用。
3.通配选择器: *{} -> div,ul,li…{}
注:尽量避免使用通配选择器,因为会给所有的标签添加样式,慎用.
使用场景:去掉所有标签的默认样式时
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div ,#div1,.div3{background-color: aquamarine;}
</style>
</head>
<body>
<div>鼠鼠</div>
<div id="div1">叔叔</div>
<div class="div3">数数</div>
</body>
</html>
2.层次选择器
该部分主要介绍层次选择器的使用方法及其内涵.
1.选择器类别: 后代 m n {}
父子 m > n {}
兄弟 m ~ n {} 当前m下面的所有兄弟n标签
相邻 m + n {} 当前m下面相邻的n标签
- 后代即是同一大标签内的所有标签,父子是只有下一个有,兄弟是下面所有有,相邻就是相邻的对应标签
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1 h1{text-decoration:underline;}
#ol1 > li{font-weight: 700;}
#ul1 ~ li{border:1px red solid; }
#div2 + p{background-color: brown;}
</style>
</head>
<body>
<div id="div1">
<h1>本周的特别主题是“猫兄酱紫长?”</h1>
<h2>猫猫也很可爱</h2>
</div>
<ol id="ol1">
<li>猫儿子
<ol>
<li>猫孙子</li>
</ol>
</li>
</ol>
<ul id="ul1">
<li>0.0.有id的猫</li>
</ul>
<ul>
<li>没有id的猫</li>
</ul>
<div>
<p>被div岔开的喵喵</p>
</div>
<div id="div2">
<p>内部的喵喵</p>
</div>
<p>相邻的喵喵</p>
</body>
</html>
3.属性选择器
该部分主要说明属性选择器的用法.
1.属性选择器的用法:
m[] {}
=:完全匹配
*=:部分匹配
^ =: 起始匹配
$ =: 结束匹配
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div[id*=div1]{background: red;}
</style>
</head>
<body>
<div id="div1">喵</div>![请添加图片描述](https://img-blog.csdnimg.cn/ce1c1c2b4e8f408aba92f5e4e8038ee7.png)
<div id="div1-div2">喵喵</div>
<div id="div3-div1">喵喵喵</div>
<div id="div4-div1">喵喵喵喵</div>
<div id="div5-div1">喵喵喵喵喵</div>
</body>
</html>
- 不能重复使用div{}
4.after,hover等伪类选择器
该部分主要讲after伪类的使用方法及其作用
1.伪类选择器: css伪类用于向某些元素添加特殊的效果,一般用于初始样式添加不上的时候,用来伪类来添加
2.css伪类:
m:伪类{}
:link 访问前的样式 (只能添加给a标签)
:visited 访问后的样式 (只能添加给a标签)
: hover 鼠标移入时的样式 (可以添加给所有的标签)
: active 鼠标按下时的样式 (可以添加给所有标签)
: after,before
:checked,disabled
:focus
- 如果四个伪类都生效,一定要按l v h a 的顺序添加
- 一般网站只这样去设置: a{} a:hover{}
- :after,before 通过伪类浮的方式给元素添加一段文本内容,使用content属性
- :checked,disabled,focus 都是针对表单元素的
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1:after{content:"喵尾";background:red;}
:disabled {width:100px;height:100px;}
</style>
</head>
<body>
<div id="div1">喵头</div>
<div>喵头</div>
<input type="checkbox" disabled>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a{color: brown;}
a:hover{color: aqua;}
</style>
</head>
<body>
<a href="">流体喵</a>
</body>
</html>
- shift+ ctrl+ delt 清楚浏览器缓存
5.结构伪类选择器
该部分主要讲解伪类结构选择器的作用
1.选择器种类:
nth-of-type() nth-child()
角标从1开始,1表示第一项,以此类推,无线大
first-of-type,last-of-type,only-of-type
child去掉of与type相同
2.type与child的区别:
type:种类,child:孩纸
child修饰的是同阶级的第二个
- 实验中发现only作用于被包含元素中,且在同级中能重复出现,其它属性类似。
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div:only-of-type{background-color: blue;}
</style>
</head>
<body>
<ul>
<li></li>
<li></li>
<div>喵?</div>
<li></li>
</ul>
<ul>
<li></li>
<li></li>
<div>喵?</div>
<li></li>
<li></li>
</ul>
<ul></ul>
<div>喵喵?</div>
<ul></ul>
</body>
</html>
6.css样式继承
该部分主要讲解css样式继承的条件与用法
1.继承语言: {属性:inherit}
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{ width: 60px;height: 60px; border: 2px red solid;}
p{border:inherit;}
</style>
</head>
<body>
<div>
<p>喵~~~~~~~~~~~~~~~~~~~~ao</p>
</div>
</body>
</html>
7.集,单一样式的优先级
该部分主要讲解css优先级顺序.
**相同样式优先级:**设置相同样式后,后面的优先级较高,但不建议出现相同样式的情况.
2.内部样式与外部样式: 内部样式与外部样式优先级相同,同样是后写的优先级更高。
- style>id>class>tag>*>继承
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1{color: rgb(221, 0, 255);}
*{color: red;}
.div1{color: black;}
div:{background:inherit;}
</style>
</head>
<body>
<div id="div1" class="div1" style="color:rgb(0, 255, 89)">0.0</div>
</body>
</html>
8.!important群组等优先级
该部分主要说明!important群组的优先级顺序
**1.!important:**提升样式优先级,不规范,不建议。
**2.标签+类与单类:**标签+类>单类
**3.群组优先级:**群组选择器与单一选择器的优先级相同,后写优先级更高.
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div.p1{color: red;}
div{color:green}
h1{color: red;}
h1,h2{color: blue;}
#name{color: green;}
h3{color: rebeccapurple!important;}
</style>
</head>
<body>
<div class="p1">
<p>o(=•ェ•=)m</p>
</div>
<h1>
<h2>o(=•ェ•=)m</h2>
</h1>
<h3 id="name">o(=•ェ•=)m</h3>
</body>
</html>
9.层次的优先级
该部分主要讲解层次的优先级比较
1.权重比较:
ul li .box p input{} 1+1+1+10+1+1
.hello span #elem{} 10+1+100
2.约分比较:
ul li .box p input{}
.hello span #elem{}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul,.box{color: red;}
ul,#name{color: green;}
</style>
</head>
<body>
<div >
<ul id="name"class="box">
<li>0.0</li>
</ul>
</div>
</body>
</html>
一、第二部分
1.css盒子模型
该部分主要讲解css盒子模型的概念及其用法
1.组成: content(物品)——paading(填充物)——border(包装盒)——margin(盒子之间的间距)
content:width与height组成
padding:内边距(内填充)
padding-(left,right,top,bottom)margin也一样
2.效果:
1.背景色填充到margin以内的区域(不包括margin)
2.文字在content区域添加.
3.padding不能为负数,而margin可以为负数.
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1{ width:900px;height:900px;
background-color: red;padding: 30px;margin: -60px;}
#div2{width: 900px;height:900px;background-color:blue;}
</style>
</head>
<body>
<div id="div1">( ̄(工) ̄)</div>
<div id="div2">( ̄(工) ̄)</div>
</body>
</html>
2.box-sizing改变盒模型
该部分主要介绍部分改变盒子模型的方式
**1.盒模型默认:**盒尺寸,可以改变盒子模型的展示形态。
默认值: content-box:width,height——cnotent
border-box:width,height——content padding border
2.使用场景:
1.不再去计算一些值
2.解决一些100%的问题
2.box-sizing: box-sizing属性允许以特定的方式匹配某个区域的特定元素,取值为content-box border-box
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{width: 100px; height: 100px;background-color: aqua;padding: 10px ;margin: 10px;
box-sizing: border-box;
}
</style>
</head>
<body>
<div>好困0.0</div>
</body>
</html>
3.盒模型之margin叠加问题
该部分主要介绍叠加问题的解决方法
1.问题: 当给两个盒子同时添加上下外边距的时候,就会出现叠加问题,这个问题只在上下有,左右是没有这个叠加问题的.
2 解决方案: bfc规范 只给一个元素添加间距
- 实操效果
!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1{width: 100px;height:100px;background-color: red;margin:80px}
#div2{width: 100px;height:100px;background-color: aqua;margin: 40px;}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>
4.盒模型之margin传递问题
该部分主要解决margin传递时的一些问题
1.问题: magin传递问题只会出现在嵌套结构中,且只有margin-top会有传递的问题,其它三个方向是没有传递问题的.
2.解决方案: bfc规范,给父容器加边框,margin换成padding
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#span1{background-color: red;margin:100px;}
#span3{background-color: green;margin:100px;}
#div1{width: 200px;height: 100px;background-color: red;padding-top: 100px;}
#div2{width: 100px;height: 100px;background-color: aquamarine;}
</style>
</head>
<body>
<div>喵喵<span id="span1">喵喵喵喵喵</span>喵喵</div>
<div>喵喵<span id="span3">喵喵喵喵喵</span>喵喵</div>
<div id="div1">
<div id="div2"></div>
</div>
</body>
</html>
- span标签上下不起效果
5.css盒模型之拓展
该部分主要讲的是css的拓展知识
1.拓展: margin左右自适应是可以的,但是上下自适应是不行的(现在不行)
width,height不设置的时候,对盒子模型的影响,会自动去计算容器的大小
,节省代码.
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#span1{background-color: red;margin:100px;}
#span3{background-color: green;margin:100px;}
#div1{width: 200px;height: 100px;background-color: red;padding-top: 100px;}
#div2{width: 100px;height: 100px;background-color: aquamarine;}
</style>![请添加图片描述](https://img-blog.csdnimg.cn/efc98a1a6b104f5ab6ed92a6b1fc65fd.png)
</head>
<body>
<div>喵喵<span id="span1">喵喵喵喵喵</span>喵喵</div>
<div>喵喵<span id="span3">喵喵喵喵喵</span>喵喵</div>
<div id="div1">
<div id="div2"></div>
</div>
</body>
</html>
6.盒子模型的嵌套练习
该部分主要是实验
- 实际效果
一、第三部分
1.按类型,内容,显示划分标签
该部分主要介绍标签类型,了解大概即可
2.display显示框类型
该部分主要介绍显示框的分类
1.类型: display:block inline inline-block none …
2.区别: display:none不占隐藏的隐藏
visibility:hidden 占空间的隐藏
- block不内联 inline内联 inline-block并列 none隐藏
- 实操效果
3. 嵌套标签规范
该部分主要介绍标签嵌套规范注意事项
- 总之
4.overflow溢出隐藏
该部分主要介绍overflow标签
标签: overflow:visible(默认),hidden,scroll,auto,(x,y轴)
- 实操效果
!<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{width: 100px;height: 100px;overflow:scroll
;border-color: black;}
</style>
</head>
<body>
<div>喵喵喵喵喵喵喵喵
喵喵喵喵喵喵喵喵
喵喵喵喵喵喵喵喵
喵喵喵喵喵喵喵喵
喵喵喵喵喵喵喵喵
喵喵喵喵喵喵喵喵
</div>
</body>
</html>
5.透明度与手势
该部分主要介绍如何调节透明度与手势
1.调节不透明度: opacity:0(透明)~1(不透明)
注:占空间,所有的子内容也会透明
rgba():0~1
注:可以让指定的样式透明,而不影响其它样式
2.手势: cursor:手 default:默认箭头
自定义手势: 图片: .cur ,.ico cursor :url(#),auto;
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1{width: 100px;height: 100px;background-color: aqua;opacity: 0.5;}
#div2{width: 100px;height: 100px;background: rgba(255, 0,0 ,1);cursor: alias;}
</style>
</head>
<body>
<div id="div1">mao</div>
<div id="div2">mao</div>
</body>
</html>
6.最大最小宽高
该部分主要用来强化百分比理解
1.代码: min-width,height max-width,height
- 没什么用不如直接加宽高
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{max-width: 200px;min-height: 200px;border:1px red solid;}
</style>
</head>
<body>
<div>喵喵喵喵喵
喵喵喵喵喵
喵喵喵喵喵
喵喵喵喵喵
喵喵喵喵喵
喵喵喵喵喵
</div>
</body>
</html>
7.css默认样式
该部分主要介绍css的一些默认样式
8.css重置样式
该部分主要介绍如何重置css的默认样式
1.重置方法: *{margin:0; padding:0;}
ul{list-style:none}
a{text-decoration:none; color:#666;}
img{display:block}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{list-style: none;}
div{ border: 1px red solid;}
</style>
</head>
<body>
<div><img src="./图片/4960A5E8EC6E8131A4F29A750A8AA52D.jpg" alt=""></div>
</body>
</html>
9.float浮动概念及其原理
该部分主要介绍浮动效果
- 大块要在下面
- 脱离文档流,延迟父容器靠左或靠右进行排列
- left right none
!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body{border: 1px black solid;}
#div1{width: 50px;height: 50px;background: green;float: left;}
#div2{width: 100px;height: 100px;background: red;float: left;}
#div3{width: 200px;height: 200px;background:blue
;}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</body>
</html>
10. float注意点
该部分主要介绍使用浮动时的一些注意事项
11.清除float浮动
该部分主要介绍如何清除浮动
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#div1{width: 50px;height: 50px;background: red;float: right;}
#div2{width: 100px;height: 100px;background: black;clear: right;}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>
12.float制作页面小结构
- 实操效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{margin: 0;padding: 0;}
ul{list-style: none;}
img{display: block;}
a{text-decoration: none; color: #666;}
h1,h2,h3{font-size: 16px;}
.l{ float: left;}
.r{ float: right;}
.clear:after{ content:"";display: block;clear: both;}
#main{width: 400px;margin: 30px auto;}
#main .h22{font-size:10px ;height: 25px;line-height:25px ;font: 700;padding-left: 30px;background: url(../素材图片/背景色.webp)repeat-x;}
#mian ul{overflow: hidden; margin-top: 9px;}
#main li{margin-bottom: 5px;}
#main .div1{border: 1px grey solid;width: 100px;height: 100px;padding-left: 20px;}
#mian .div1 img{margin: 2px;}
#main .div2{width:200px;margin-left: 13px;}
#main .div2 h2{line-height: 30px;}
#main .div2 p{line-height:30px ;}
</style>
</head>
<body>
<div id="main">
<h2 class="h22">面狼和猫</h2>
<ul>
<li class="clear">
<div class="l div1">
<a href="">
<img src="../素材图片/面狼.jpg" alt=""width="100px" height="100px"></a>
</div>
<div class="l div2">
<h2>眠狼的画与猫</h2>
<p>眠狼的画6666666666666666666666666 <a href="#">[详细]</a>
</p>
</div>
</li>
<li class="clear">
<div class="l div1">
<a href="">
<img src="../素材图片/面狼2.jpg" alt=""width="100px" height="100px">
</a>
</div>
<div class="l div2">
<h2>眠狼的画与猫</h2>
<p>眠狼的画6666666666666666666666666<a href="#">[详细]</a>
</p>
</div>
</li>
<li class="clear">
<div class="l div1">
<a href="">
<img src="../素材图片/面狼3.jpg" alt=""width="100px" height="100px">
</a>
</div>
<div class="l div2" >
<h2>眠狼的画与猫</h2>
<p>面狼的画66666666666666666666666666666<a href="#">[详细]</a>
</p>
</div>
</li>
</ul>
</div>
</body>
</html>
- 好肝啊0.0