CSS知识整理

本文详细整理了CSS的各种知识点,包括CSS的介绍、基本选择器、其他选择器、属性、布局方式以及CSS3的新特性。内容涵盖了字体属性、文本属性、背景颜色、选择器的使用、浮动布局、定位、盒子模型、伪类和伪对象等核心概念,旨在帮助读者深入理解CSS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CSS知识整理

哈哈终于整理好了css常用到的知识笔记,想要参看我整理的HTML笔记点击HTML笔记

一、CSS介绍

1、css是什么?

css全称Cascading Style Sheets 翻译过来叫层叠样式

作用:设置网页的文字(大小、颜色、字体风格、对齐方式等)图片排版等,简单点说就是给网页化妆感知css

先来一个动图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNlqvIDP-1624615631587)(C:\Users\cian\Desktop\e9rc4-0iozc.gif)]

这是该gif涉及到的代码(详细的知识点请往后看)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<style type="text/css">
		div{
			background-color: red;
			width: 100px;
			height: 100px;
			transition: all 2s ease;
		}
		div:hover{
			transform: rotate(720deg) scale(0.2,0.2);
			background-color: yellow;
		}
	</style>
	<body>
		<div>
			一个框
		</div>
	</body>
</html>
2、构建style标签
  • 这个标签可以放在页面的任何地方,只是我们习惯放在头部

  • 选择元素

  • 大括号

  • 属性和值

  • 每一个属性结束都是用分号结束

<style type="text/css">
		div{
			background-color: red;
			width: 100px;
			height: 100px;
			transition: all 2s ease;
		}
	</style>
3、字体属性
3.1、font-size(默认大小是16px)

取值方式:数字+像素单位px(像素就是一个长度单位)

像素?==>是指构成图片的小色点,分辨率(单位DPI)是指每英寸上的像素数量,乐意查看作是这些小色点的分布密度;像素相同是,分辨率越高则像素密度越大,实际打印尺寸越小,图像越清晰

1英寸=2.54厘米

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
		<style type="text/css">
			div{
				font-size: 36px;
			}
			span{
				font-size: 18px;
			}
		</style>
	</head>
	<body>
		<div>
			这是一个div
		</div>
		<span>
			这是span
		</span>
	</body>
</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a2uu44k6-1624615631588)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622170454830.png)]

3.2、font-weight(默认为500)
  • 可以用数字表示粗细,100~以上字体逐渐加粗
  • 也可以用单词 normal (普通) bold(加粗)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
		<style type="text/css">
			div{
				font-weight: 100;
			}
			span{
				font-weight: unset;
			}
		</style>
	</head>
	<body>
		<div>
			这是一个div
		</div>
		<span>
			这是span
		</span>
	</body>
</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2C8aMYuF-1624615631590)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622170841556.png)]

3.3、font-style(字体风格)
  • italic 斜体 normal 正常

		<style type="text/css">
			div{
				font-weight: 100;
				font-style: italic;
			}
		</style>
		
		<div>
			这是一个div
		</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OsB0Er86-1624615631592)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622171803154.png)]

3.4、font-fanily(设置字体,默认是)

属性值有宋体,微软雅黑等等

字体可以加多个,以防客户端没有对应的字体样式

		<style type="text/css">
			div{
				font-weight: 700;
				font-family:'华文行楷','宋体';
			}
		</style>
		
		<div>
			这是一个div
		</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YP20shMJ-1624615631594)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622172419574.png)]

3.5、webding

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IXKocsZX-1624615631595)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622173153914.png)]

4、文本属性
4.1、text-decoration

underline 下划线 line-through 删除线(惯串线) none没有修饰线

overline 上划线

		<style type="text/css">
			div{
				text-decoration: underline;
			}
		<style>
		<div>
			12345ABCD
		</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NaoV9DLS-1624615631596)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622173449989.png)]

4.2、文本转换 text-transform

capitalize 首字母大写 uppercase 字母全部大写 lowercase将字母都转换成小写

<style type="text/css">
			div{
				text-transform: uppercase;
			}
		</style>
		<div>
			aannananan
		</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IzBJ4S4e-1624615631597)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622174402300.png)]

4.3、text-align 文本对齐方式
text-align:left;
4.4、text-indent文本缩进
text-indent:2em;//em 表示一个字符的单位
5、文字颜色 color
6、背景颜色background-color

二、css中的基本选择器

1、标签选择元素,标签(css样式)

p,div,span…

2、id选择器

#id名{}

<p id='p1'>pppp</p>
<style>
	#p1{
	color:#11ffee;
	}
</style>
3、class选择器

.class名{}

<p class='p1'>pppp</p>
<style>
	.p1{
	color:#11ffee;
	}
</style>
4、后代选择器
<div>
    <p class='p1'>pppp</p>
    <p class='p2'>pppp</p>
</div>
<style>
	div>p1{
	color:#11ffee;
	}
	div .p2{
	color:red;
	}
</style>
6、子代选择器(所有后代,包括孙子)
<div>
    <p class='p1'>pppp</p>
    <p class='p2'>pppp</p>
</div>
<style>
	div p1{
	color:#11ffee;
	}
	div .p2{
	color:red;
	}
</style>
7、多选择器(div,p,span{})

    <p class='p1'>pppp</p>
    <p class='p2'>pppp</p>
    <span>span</span>
    <div>div</div>

<style>
	div,p,span{
	color:#11ffee;
	}
</style>
8、复合选择器
<div>
    <p class='p1 p2'>pppp</p>
    <p class='p2'>pppp</p>
</div>
<style>
	.p2.p1{
	color:#11ffee;
	}
	
</style>
8、google案例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evuzB1dT-1624615631598)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622181250128.png)]

三、其他选择器

1、通配选择器 *

*表示所有标签


    <p class='p1'>pppp</p>
    <p class='p2'>pppp</p>
    <span>span</span>
    <div>div</div>

<style>
	*{
	color:#11ffee;
	}
</style>
2、伪类选择器

a:link 正常链接时候的状态

元素:visited 点击以后的状态

元素:hover 单鼠标放在对应的元素长上的状态

元素:active 按下去的状态

注意:

  • 伪类选择器不能写在{}里,

  • visited和link不是所有的标签都可以用的,只有a标签可以用,

  • hover和active是任何标签都可以用

<style type="text/css">
			a:link{
					color: red;
			}
		</style>
		<a href="#">百度</a>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d7YjJoEI-1624615631600)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210622211800782.png)]

<style type="text/css">
		.div2{
			width: 100px;
			height: 100px;
			background-color: red;
		}
		#div1:hover .div2{
			width: 200px;
			height: 200px;
			background-color: yellow;
			
		}
		</style>
		<div id="div1">
			 <div class="div2"></div>
		</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dwUSkNsa-1624615631601)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623070226512.png)]

3、伪对象选择器

元素:first-letter 选择第一个字

元素:first-line 选择第一行

<style type="text/css">
		 p:first-letter{   /*伪对象first-letter,选择器,选择第一个字*/
			font-size: 20px;
			color: red;
		}
		div:first-line{
			color: blue;
			}
		</style>
	<h1>我爱学习</h1>
	<p>我爱杯中酒</p>
	<p>爱之不敢求</p>
	<p>学到白海鲜</p>
	<p>习之时偏偏</p>
	<div>
	文本内容
    </div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hHsEWdGR-1624615631602)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623073323407.png)]

4、兄弟选择器

兄弟选择器,哥哥标签+弟弟标签====>修饰弟弟

哥哥+弟弟{}

<style type="text/css">
			div+p{  /*兄弟选择器,哥哥标签+弟弟标签====>修饰弟弟*/
				color: red;
			}
			
		</style>
		<div>
			第一个盒子
		</div>
		<p>第一个段落</p>
		<div>
			第二个盒子
		</div>
		<span>
			第一个span
		</span>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fq4QmQOq-1624615631603)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623074226536.png)]

5、属性选择器
  • [属性名]
  • [属性名=属性值]
  • [属性名!=属性值]
  • [属性名^=str]
  • [属性名$=str]
  • [属性名*=str]
  • [属性名~=str]多个值中选择一个
  • [属性名|=str]有连字符的str为连字符的第一个单词
<style type="text/css">
			[name]{
				color: red;
			}
			[name=eee]
			{
				color: blue;
			}
		</style>
	<div name="value">
		hhhhahahahhahaa
	</div>
	<div name="eee">
		hhhhahahahhahaa
	</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nXm8vNy8-1624615631604)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623074732909.png)]

四、css中的属性

1、行高属性

line-heigth:数字px

注意:当行高和盒子的高度相同时,它可以让文本在盒子中垂直居中

<style type="text/css">
			div{
				width: 100px;
				background-color: pink;
				line-height: 30px;
				}
		</style>
	<div>
		锄禾日当午,汗滴禾下土。谁知盘中餐,粒粒皆辛苦。
		离离原上草,一岁一枯荣,野火烧不尽,春风吹又生。
	</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BmNThMAI-1624615631605)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623081344515.png)]

2、背景的介绍background
2.1、背景颜色 background-color

属性值可以为#fff,red,rgba(225,225,225,0.5) 三种写法

<style type="text/css">
			div{
				width: 100px;
				background:rgba(22,30,30,0.3) ;//r红色,g绿色,b黑色,a透明度
				line-height: 30px;
				}
		</style>
	<div>
		锄禾日当午,汗滴禾下土。谁知盘中餐,粒粒皆辛苦。
		离离原上草,一岁一枯荣,野火烧不尽,春风吹又生。
	</div>
2.2、背景图片 background-img

属性src=‘url’

<style type="text/css">
			div{
				width: 100px;
				background-image:url('../xxx.npg')
				line-height: 30px;
				}
		</style>
	<div>
		锄禾日当午,汗滴禾下土。谁知盘中餐,粒粒皆辛苦。
		离离原上草,一岁一枯荣,野火烧不尽,春风吹又生。
	</div>
2.3、背景图平铺background-repeat

属性值:no-repeat(不平铺) x-repeat(x方向平铺) y-repeat(y方向平铺) repeat(平铺)

2.4、背景图大小background-size:宽 高;
2.5、背景图片位置background-position:left top;

取值也可以用数字表示距离,也可以用单词left,center,top等关键字,还可以用百分数比表示

2.6、背景图的综合使用 background

background:color url repeat position/size;(注意position和size需要使用/连用,先position后size)

3、设置背景图不受滚动条的影响

background-attachment:fixed;//背景图宋滚动条的影响

4、背景图和背景标签(img)

在一些小的标签,常用的标签可以放在一张大图上,使用position来截取对应的小图标并显示出来

5、背景颜色的渐变
5.1、线性渐变 background:liner-gradient(red,green);

background:liner-gradient(to 方向(deg),颜色 [占比],颜色 [占比],…)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NJt7OsFW-1624615631606)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623183039382.png)]

5.2、径向渐变 background:radial-gradient(red,green)

background:radial-gradient([形状],颜色[占比],…)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MZXrRvko-1624615631607)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623183635058.png)]

6、列表属性
6.1、设置列表前的符号

list-style-type:none,circle…

list-style-image:url()//将前面的符号用图片显示

7、内容溢出
7.1、 over-flow

overflow:auto,hidden,scroll

auto :自动生成滚动条

hidden:直接隐藏溢出内容

scroll:但溢出的时候生成滚动条

7.2、overflow-x
7.3、overflow-y

取值和overflow一样

五、样式的分类

1、行内样式()
<div  style="color:red;width:100px;height:100px"
2、内联样式
<style>
	div{
	color:red;
	}
</style>
<div>hhhh</div>
3、外联样式(做项目用,最多)
<link rel="stylesheet" type='text/css' herf='../xxx.css'>//引入外界的css文件

六、样式的继承和覆盖

1、孩子继承父亲的样式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Puz8PPF1-1624615631607)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623192552038.png)

2、覆盖

孩子不想要父亲的样式,可以重新写样式值

3、样式的优先级
3.1、样式分类的优先级

行内>内联/外联(这两个看谁与标签近)

3.2、!important 强制优先

只对使用的强制优先的属性有效

3.3、伪类首字>伪类首行>!important>id>类名/属性>标签名>*

注意:容易被覆盖的选择器要写在前面,以便于后面的选择器覆盖它

3、权重的叠加
类型\权重值
标签(div)0001
class0010
id0100
行内1000

注意:1表示权重值,权重的叠加是指

<style>
	div .div1{
	color:red;
	}
	div #div1{
	color:yellow;
	}
</style>
<div class='div1' id="div1">

</div>

div .div1的权重值为==>11

div #div1的权重值为==>101

注意这里的累加不进位(累加到9)

11<101所以color的值为yellow,但如果选择器是直接指向标签与不是直接指向标签不能用权重来比较

七、标签的显示模式

1、block 块元素

如:div、image、p…

特点:独占一行

2、inline 行内元素

如:span

没有宽高,在一行显示

3、inline-block

display:inline-block将标签的样式进行转换,

可以设置宽高,在一行显示

八、盒子模型

1、盒子模型的组成部分

包括:宽高、内边距、边框、外间距

2、内边距 padding

padding:top right bottom left;

padding-top:数字px;

3、外边距 margin

和内边就的属性值一样

margin:0 auto;左右自动,一般是在父元素中居中

margin:0 auto ;和text-align:center;的区别

  • 针对的对象不一样:margin 是针对和盒子,text-align针对标签的行内元素
  • 居中范围不同:margin在父盒子中居中,text-align自己内部
4、边框border
4.1、边框的要素
  • 边框的样式
  • 边框的颜色
  • 边框的厚度
4.2、边框的样式 border-style
  • solid 实线

  • dotted 虚线

  • dashed 轮廓

    在input中有轮廓一般不使用时:outline:none;

  • double 双实线

  • Inset 凹进去

  • Outset 凸出来

4.3、边框颜色 border-color
4.4、边框的厚度 border-width
4.5、边框组合写法

border:样式 颜色 厚度;(三要素可以交换位置)

border-left:样式 颜色 厚度;//对左边框设置

4.6、边框的形状border-radius

border-left-bottom-radius:10px 20px;对左下角做圆角样式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Z9xOQvg-1624615631608)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210623212019594.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yiAMeNCO-1624615631609)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624084621463.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8N7mQeZy-1624615631610)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624091837919.png)]

4.7、盒子模型Bug1

大盒子套小盒子,且两个盒子都有外边距

外边距的合并,表现为谁的外边距大,就作用谁的

解决:

  • 1、使用overflow:hidden;(在父元素中使用)
  • 2、不使用margin就使用padding(在本元素中使用)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0bRcP9oo-1624615631611)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624094611846.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1aBFoUUL-1624615631612)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624094904292.png)]

4.8、盒子模型Bug2

兄弟盒子之间的外边距要和并,谁大用谁的

解决:给一个盒子添加外边距

4.9、边框细线border-collapse

该属性可以将边框里的表格线细化成一根

5、元素的可见性
5.1、display:none(不占空间的)
5.2、visibility:hidden(在有位置的)

九、伪对象 ::before/::after

选择器::before{

content:‘标签里的内容’;//必须要写的

}

在对应的选择器中的前边添加一个伪类标签,这个伪类标签是一个行标签

注意:伪类标签中必须要有 content这个属性,可以把他的属性值设置为空,否则伪类标签无效。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C3czyDX7-1624615631613)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624102346035.png)]

总结:

  • 1、什么是伪对象?不使用实际的标签,用css样式来模拟一个标签
  • 2、元素::before{}/元素::after{}
  • 3、content属性必须写
  • 4、伪元素是行元素

嗯~~,其实这里的 :: 也可以用 :来代替

十、常用的3种布局方式

1、float浮动(重点)
1.1、float基本用法

利用浮动摆放盒子

文字环绕图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FvGER7jO-1624615631614)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624132241285.png)]

浮动的语法:

float:left/right/none(三个取值)

浮动的特性:

  • 强制性的让元素在最左边或左右边(当前位置的左右,不会向前浮动)

  • 浮动以后,元素不占有原来的位置空间,后面的元素可以顶替浮动元素的位置--------脱离标准流(但是不会覆盖文字,所以才能形成文字环绕)

  • 如果要两个盒子排成一行,就给这两个元素都设置浮动,在浮动层按顺序排列

  • 不管以前是什么元素,加了浮动后都可以加宽高

浮动带来的问题:

当给子元素添加浮动时,父元素因为没有添加高度,父元素就会消失

解决:

  • 1、给父元素添加一个高度(不推荐)

  • 2、给父元素添加一个 overflow属性:就是将盒子内部的元素和外部的元素进行隔离,互不影响(相当于个父元素的外围增加了高度,子元素跑不出)(不推荐)

  • 3、clear:both

    需要在父元素设立一个空的标签(块元素),这个标签里写一个css属性clear:both;

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<meta name="viewport" content="width=device-width, initial-scale=1">
    		<title></title>
    	</head>
    	<body>
    		<style type="text/css">
    		.div1{
    			width: 400px;
    			background-color: #f00;
    			
    		}
    		.s1{
    			float: left;
    			width: 100px;
    			height: 100px;
    			background-color: yellow;
    		}
    		.s2{
    				float: left;
    			width: 100px;
    			height: 100px;
    			background-color: blue;
    		}
    		.s3{
    				float: left;
    			width: 100px;
    			height: 100px;
    			background-color: pink;
    		}
    		.clear{
    			clear: both;
    		}
    		.laowang
    		{
    			width: 400px;
    			height: 300px;
    			background-color: green;
    		}
    		</style>
    		<div class="div1">
    			<div class="s1"></div>
    			<div class="s2"></div>
    			<div class="s3"></div>
    		</div>
    		<div class="clear"></div>
    		<div class="laowang">
    			
    		</div>
    	</body>
    </html>
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sf9MTxLX-1624615631615)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624143258963.png)]

  • 4、结合3使用伪元素

    .div1::after{
    	clear:both;
    }
    
1.2、阴影 shadow
1.2.1、文本阴影text-shadow

语法:text-shadow:横向偏移 纵向偏移 模糊距离 颜色;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qtemkw5L-1624615631616)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624152920481.png)]

1.2.2、盒子阴影box-shadow

语法:box-shadow:水平偏移 垂直偏移 模糊距离 阴影尺寸 颜射;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jb42cmu9-1624615631616)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624153401964.png)]

1.2.3、阴影的对个值,用逗号隔开

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G3VibHCZ-1624615631617)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624154102404.png)]

1.3、网站图标

作用:一个好的ico图标可以加深用户对网站的记忆。降低用户的记忆成本,有利于识别当前窗口是在那个网站。

步骤:

  • 一张图

  • 在网上将图片做成一张ico图片(网址:和http://www.bitbug.net/)

  • 在HTML中引入<link rel=‘shortcut icon’ herf=‘favicon.ico’/>

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U1m3sMjQ-1624615631618)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624185552049.png)]

1.4、字体图片

可以再iconfont阿里巴巴网站上去下载

1.打开网上的图库,网址:http://www.iconfont.cn/,搜索需要的图标,

2.将自己需要的图标加入购物车

3.打开购物车添加至自己的项目(没有的需要自己创建),点击确地

4.下载至本地

5.在HTML中引入下载好的css文件

6.在标签中使用(需要两个类名,一个是图标类型,一个是图标名称)

使用字体图片的步骤:

  • 第一步:引入项目生成的fontclass代码:

    <link rel='stylesheet' herf='./i confont.css'>
    
  • 第二步:挑选相应图片并获取类名,应用于页面:

    <span class='iconfont icon-xxx'></span>
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oCSB6u38-1624615631618)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624200609927.png)]

2、position定位流(重点)
2.1、静态定位 position:static

也就是标准流,作用场景将有定位的盒子转换成标准流

2.2、相对对位 position:relation;

设置偏移:

top:10px;
left:10px;

总结:

  • 1、相对定位参考自身在标准流中的位置进行偏移,移动的出发点是标准流的位置
  • 2、不会对标准流的元素造成影响,没有脱离文档流,移动之后,自身在标准流中还占有空间,真正占得位置还是标准流的位置(灵魂出窍,肉体还在)
  • 3、可以覆盖在标准流的上方

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q2E2MEZQ-1624615631619)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624211155585.png)]在这里插入图片描述

2.3、绝对定位 position:absolute;

总结:

1、偏移位置参考设置过定位的直系祖宗元素,没有找到就一直晚上找,知道找到html

2、会脱离文档流、不在继承父级的宽度(不论块元素还是行元素,盒子的大小取决于其中的内容),可以定义宽高,不占标准流的空间

3、margin:auto对于设置过绝对定位的元素不起作用

4、设置方向偏移的时候、横向或者纵向只设置多个没有意义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOuaMCcE-1624615631620)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210624211333530.png)]

2.4、固定定位 position:fixed

固定定位,在有滚动条的时,发生滚动时,添加了固定定位的标签是不会发生变化的

<style type="text/css">
			.box{
				width: 300px;
				height: 200px;
				background-color: #abcdef;
				position: fixed;
				top: 50%;
				left: 50%;
				margin-left: -150px;
				margin-top:-150px ;
			}
			.box2{
				width: 10px;
				height: 1000px;
				background-color: yellow;
			}
		</style>
	
	<body>
		<div class="box"></div>
		<div class="box2"></div>
	</body>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H0WR6R40-1624615631621)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625024022713.png)]

2.5、粘性定位 position:sticky

需要给他设定一个发生粘性的条件(比如在top=10px时发生,粘性)

	<style type="text/css">
			.box{
				width: 300px;
				height: 200px;
				background-color: #abcdef;
				position: sticky;
				top: 0;
				
				margin-left: 150px;
				margin-top:150px ;
			}
			.box2{
				width: 10px;
				height: 1000px;
				background-color: yellow;
			}
		</style>
	<body>
		<div class="box"></div>
		<div class="box2"></div>
	</body>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y7a1njHO-1624615631621)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625024637986.png)]

2.6、定位效果的层叠性 z-index
	<style type="text/css">
			.box{
				width: 300px;
				height: 200px;
				background-color: #abcdef;
		 	 position: absolute;
		
				 z-index: 1;
			}
			.box2{
				width: 400px;
				height: 300px;
				background-color: yellow;
				position: absolute;
				
			}
		</style>
	<body>
		<div class="box"></div>
		<div class="box2"></div>
	</body>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7whpgEm-1624615631622)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625025340694.png)]

总结:

1.z-index只针对定位元素有效果(但不包括静态定位)

2.z-index值越大,层级越高

3.如果父元素已经比较过层级了,(父元素“都有”z-index的时候,并且值不为auto),那么子元素与子元素之间不会在比较下去了

3、标准流

十一、css3和css2的区别

css3在原有的基础上新增了很多css属性选择器,伪类选择器,为对象选择器以及一些动画

H5=html5+css3+js

大前端:js

1、内减模式box-sizing:border-box

可以将padding内边距和边框带来增大盒子的影响去掉

语法:box-sizing:border-box;

	<style type="text/css">
			.box{
				width: 300px;
				height: 300px;
				background-color: #f00;
			}
			.s1{
				width: 200px;
				height: 200px;
				background-color: #0f0;
				padding:50px;
				box-sizing: border-box;  //添加内减模式
			}
		</style>
	<body>
		<div class="box">
			<div class="s1">今天星期一</div>
		</div>
	</body>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NTTpDl1O-1624615631623)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625032914662.png)]

2、新增属性选择器
2.1、元素[属性^=值]

选择以指定字符开头的属性值的元素

<style type="text/css">
			.box1,.box2{
				width: 50px;
				height: 50px;
				color: blue;
			}
			.ox2{
				height: 100px;
				width: 100px;
				background-color: red;
			}
			[class^='box']
			{
				height: 100px;
				width: 100px;
				background-color: yellow;
			}
			
		</style>
	<body>
		<div class="box1">
			
		</div>
		<div class="box2">今天星期一</div>
		<div class="ox2">今天星期sa</div>
	</body>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jx6EwjjK-1624615631623)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625033659109.png)]

2.2、其他的
  • [属性名]
  • [属性名=属性值]
  • [属性名!=属性值]不是属性值
  • [属性名$=str]结尾
  • [属性名*=str] 存在字符str
  • [属性名~=str]多个值中选择一个
  • [属性名|=str]有连字符的str为连字符的第一个单词
3、新增伪类选择器
伪类选择器作用
:root可以理解为根
li:first-child代表找出父元素中的第一个li
li:last-child代表找出父元素中的最后一个li
li:nth-child(n)代表找出父元素中的第n个元素
li:nth-child(even)代表找出父元素中奇数的li元素
li:nth-child(odd)代表找出父元素中偶数的li元素
li:empty代表找出父元素中的空li标签
li:nth-of-type(n)找出li标签中的第几个
li:first-of-type找出li标签中的第一个
li:last-of-type找出li标签中的最后一个
li:only-child唯一子元素

总结:重点:li:first-child li:last-child li:nth-child(n) li:nth-child(even)

4、2d变换效果transform

可以设置移动、旋转、大小

4.1、移动transform:translate()

语法:transform:translate(v1,v2);

取值:第一个参数表示横向移动的像素,第二个值表示纵向移动的像素

<style type="text/css">
			.box{
				width: 800px;
				height: 500px;
				background-color: #eee;
			}
			.s1{
				height: 100px;
				width: 100px;
				background-color: #00f;
			}
			.box:hover .s1{
				transform: translate(200px,100px) rotate(45deg);
			}
		</style>
	<body>
		<div class="box">
			<div class="s1"></div>
		</div>
4.2、旋转transform:rotate()

语法:transform:rotate(45deg)

只有一个参数,旋转角度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AhHPnCMn-1624615631625)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625051420908.png)]

4.3、放大缩小transform:scale()

语法:transform:scale(2)

当两个值是第一个是宽,第二个是高的倍数

参数只能填数字,表示放大几倍的意思

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y1iVXeaP-1624615631626)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625051654611.png)]

4.4、动画 transition

transition:对上什么做的动画 时间 怎样变化的;

all:表示所有的动作

时间:单位秒

ease

4.5、动图摊牌

详细内容见文章:写文章-优快云博客

5、光标的形状 cursor

取值为:

  • text文本图标

  • help:问好图标

  • wait:等待图标

  • pointer:小手图标

  • move:移动图标

  • url()临时替换的样式,–需要在url后面加上auto

    注意:这里的图片一定要是小图片

  • default 默认的箭头

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
		<style type="text/css">
			.box{
				width: 100px;
				height: 100px;
				background-color: skyblue;
			}
			.box:hover{
				cursor: url("../img/bitbug_favicon (4).ico"),auto;
			}
		</style>
	</head>
	<body>
		<div class="box"></div>
	</body>
</html>
6、透明度 opacity

这是一个属性,取值范围是0~1;

7、放大缩小zoom

是一个属性,取值是数字

8、超出部分使用省略号
8.1、一行省略

三步:缺一不可

  • overflow:hidden;
  • white-space:nowrap;文字不换行
  • text-overflow:ellipsis;超出的部分以省略号的形式显示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k1Demrmp-1624615631626)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625101436274.png)]

8.2、多行省略
				overflow: hidden;
				text-overflow: ellipsis;
					display: -webkit-box;
				-webkit-line-clamp: 2;//行数
				-webkit-box-orient: vertical;
			

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vcd0jfgc-1624615631627)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625102221628.png)]

9、vertical-align 图片对齐

取值 :

top

bottom(默认)

middle

baseline(基线)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OG4RV5De-1624615631628)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625102600101.png)]

10、分栏显示
10.1、column-count
div{column-count: 4;}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9EoEC54d-1624615631628)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625103405496.png)]

10.2、分割线 column-rule
column-rule:1px solid red;
10.3、每一栏的宽度 column-width
column-width:300px;
11、弹性盒子 display:flex;(操作父元素上对齐)

可以实现类似浮动的效果,但是不会脱离文档流

语法:display:flex

11.1、设置弹性布局方向:flex-direction:值

取值:

  • row 横向排列,等同于左浮动效果

  • row-reverse反向排列

  • column 竖向排列

  • column-reverse反向排列

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DydFDFq5-1624615631629)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625104617853.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IqhuMkSX-1624615631629)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625104737361.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B9ZLDebA-1624615631630)(file:///C:\Users\cian\AppData\Local\Temp\SGPicFaceTpBq\17372\2753870C.gif)]

11.2、设置弹性布局是否换行,flex-wrap

取值:

  • nowrap 不换行(默认)
  • wrap换行
11.3、设置弹性布局的水平对齐方式,语法justify-content:值

取值:

  • 从左往右对齐,默认,flex-start
  • 从右往左对齐,flex-end
  • 中间对齐 center
  • 两端的空白是中间空白的一半:space-around
  • 两端对齐,中间等距离隔开:space-between
  • 等距离排列:space-evenly

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mm0Kjydo-1624615631630)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625130755171.png)]

11.4、垂直对齐方式align-content

取值:

  • 默认的排序方法:stretch-----考上排列(拉伸),但元素之间有距离
  • 靠上排列(上对齐):flex-start
  • 靠下排列(下对齐) flex-end
  • space-between两端对齐
  • space-around环绕对齐
  • space-evenly等距离对齐
11.5、交叉对齐方式align-items

取值:

  • flex-start所有元素以上端对齐
  • flex-end所有元素以下端对齐
  • center所有元素中间对齐
  • stretch所有元素拉伸填充对齐
  • baseline基线对齐

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IsZeiNER-1624615631632)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625133328305.png)]

12、子元素在y轴的对齐方式 align-self

取值:

center

flex-start

flex-end

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3tqqz1BC-1624615631634)(C:\Users\cian\AppData\Roaming\Typora\typora-user-images\image-20210625133947061.png)]

十二、精灵图

网页加载每一张图片都需要掉队服务器进行一次请求,所以对服务器的负荷会很大,可以将多个小图放在一个大图上,每个地方使用小图都对大图做背景定位即可,这样只需要加载一张图片,对付委屈只做一次请求,可以减少服务器的开销,提供网站的性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值