CSS高级

1、定位

作用:灵活的改变盒子在网页中的位置
实现: 1.定位模式: position
            2. 边偏移:设置盒子的位置
                           left
                           right
                           top
                           bottom
使用场景:让多个标签在同一个位置实现

​​​​​​1.1相对位置

position: relative

特点: 1、不脱标,占用自己原来位置
            2、显示模式特点保持不变 
            3、设置边偏移则相对自己原来位置移动
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		 <style>
			.div{
				position: relative;
				top:100px;
				left:200px;
				background-color: pink;
				width: 100px;
				height: 100px;
			}
		 </style>
	</head>
	<body>
		<div class="div"></div>
	</body>
</html>

1.2绝对位置

position: absolute
使用场景:子级绝对定位,父级相对定位( 子绝父相
特点: 1、脱标,不占位
            2、显示模式具备行内块特点
            3、设置边偏移则相对最近的已经定位的祖先元素改变位置
            4、如果祖先元素都未定位,则相对浏览器可视区改变位置
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		 <style>
			 .father{
				 position: relative;
			 }
			.father span{
				position: absolute;
				top:0;
				left:0;
				background-color: pink;
				width: 100px;
				height: 100px;
			}
		 </style>
	</head>
	<body>
		<div class="father">
			<span></span>
		</div>
	</body>
</html>

1.3定位居中

实现步骤:1. 绝对定位
                  2. 水平、垂直边偏移为 50%
                  3. 子级向左、上移动自身尺寸的一半
                        左、上的外边距为 尺寸的一半
                        transform: translate(-50%, -50%)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		 <style>
			.father span{
				position: absolute;
				left: 50%;
				top: 50%;
				transform: translate(-50%,-50%);
				width: 100px;
				height: 100px;
				background-color: pink;
			}
		 </style>
	</head>
	<body>
		<div class="father">
			<span></span>
		</div>
	</body>
</html>

1.4固定定位

position: Ũxed
场景:元素的位置在网页滚动时不会改变
特点: 1、脱标,不占位
            2、显示模式具备行内块特点
            3、设置边偏移相对浏览器窗口改变位置
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		 <style>
			.father span{
				position: fixed;
				right: 0;
				top: 0;
				width: 100px;
				height: 100px; 
				background-color: pink;
			}
		 </style>
	</head>
	<body>
		<div class="father">
			<span></span>
		</div>
	</body>
</html>

1.5堆叠层级z-index

默认效果:按照标签书写顺序,后来者居上
作用:设置定位元素的层级顺序,改变定位元素的显示顺序
属性名: z-index
属性值: 整数数字 (默认值为 0 ,取值越大,层级越高)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		 <style>
			
			.box{ 
				position: absolute;
				width: 100px;
				height: 100px;
				background-color: pink;
				z-index: 1;
			}
			.box2{
				position: absolute;
				width: 100px;
				height: 100px;
				background-color: skyblue;
				left: 100px;
				top: 100px;
				z-index: 2;
			}
		 </style>
	</head>
	<body>
		<div class="box"></div>
		<div class="box2"></div>
	</body>
</html

2、高级技巧

2.1CSS精灵

CSS 精灵,也叫 CSS Sprites ,是一种网页 图片应用处理方式 。把网页中 一些背景图片 整合到 一张图片 文件中,再 background-position 精确的定位出背景图片的位置。
优点:减少服务器被请求次数,减轻服务器的压力,提高页面加载速度
实现步骤:
1. 创建盒子, 盒子尺寸 小图 尺寸 相同
2. 设置盒子 背景图 为精灵图
3. 添加 background-position 属性,改变 背景图位置
    3.1 使用 PxCook 测量小图片 左上角坐标
    3.2 负数 坐标为 background-position 属性值(向左上移动图片位置)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			*{
				margin: 0;
				padding: 0;
				box-sizing: border-box;
			}
			li{
				list-style: none;
			}
			.service{
				margin: 100px auto;
				width: 1190px;
				height: 42px;
				/* background-color: pink; */
			}
			.service ul{
				display: flex;
			}
			.service li{
				display: flex;
				padding-left: 40px;
				width: 297px;
				height: 42px;
				/* background-color: aqua; */
			}
			.service li h5{
				margin-right: 10px;
				width: 36px;
				height: 42px;
				background: url(./img/sprite.png) 0-192px; ;
			}
			.service li:nth-child(2) h5{
				background-position: -41px -192px;
			}
			.service li:nth-child(3) h5{
				background-position: -82px -192px;
			}
			.service li:nth-child(4) h5{
				background-position: -123px -192px;
			}
			.service li p{
				font-size: 18px;
				color: #444;
				font-weight: 700;
				line-height: 42px;
			}
		</style>
	</head>
	<body>
		<div class="service">
			<ul>
				<li>
					<h5></h5>
					<p>品类齐全,轻松购物</p>
				</li>
				<li>
					<h5></h5>
					<p>多仓直发,极速配送</p>
				</li>
				<li>
					<h5></h5>
					<p>正品行货,精致服务</p>
				</li>
				<li>
					<h5></h5>
					<p>天天低价,畅选无忧</p>
				</li>
			</ul>
		</div>
	</body>
</html>

2.2字体图标

字体图标: 展示的是图标,本质是字体
作用:在网页中添加 简单的、颜色单一 的小图标
优点 1、 灵活性 :灵活地修改样式,例如:尺寸、颜色等
        2、轻量级 :体积小、渲染快、降低服务器请求次数
        3、兼容性 :几乎兼容所有主流浏览器
        4、使用方便 :先下载再使用

2.2.1下载字体

iconfont 图标库: https://www.iconfont.cn/
登录 素材库 官方图标库 进入图标库 选图标,加入购物车 购物车,添加至项目,确定 下载至本地

2.2.2使用字体

1. 引入字体样式表( iconfont.css
2. 标签使用字体图标类名
          iconfont :字体图标基本样式(字体名,字体大小等等)
          icon-xxx :图标对应的类名

2.2.3上传矢量图

作用:项目特有的图标上传到 iconfont 图标库,生成字体

上传步骤:上传 上传图标 选择 svg 矢量图,打开 提交 系统审核

3、CSS修饰样式

3.1垂直对齐方式

属性名:vertical-align

属性值效果
baseline基线对齐(默认)
top顶部对齐
middle居中对齐
bottom 底部对齐

3.2过度

作用:可以为一个元素在不同状态之间切换的时候添加 过渡效果
属性名: transition (复合属性)
属性值: 过渡的属性 花费时间 (s)
提示:1、 过渡的属性可以是具体的 CSS 属性
           2、也可以为 all (两个状态属性值不同的所有属性,都产生过渡效果)
           3、transition 设置给元素本身
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		 <style>
			.div{
				width: 100px;
				height: 100px;
				background-color: pink;
				transition: all 1s;
			}
			.div:hover{
				width: 500px;
				height: 500px;
				background-color: green;
			}
		 </style>
	</head>
	<body>
		<div class="div">123</div>
	</body>
</html>

3.3透明度

作用:设置 整个元素的透明度 (包含背景和内容)
属性名: opacity
属性值: 0 – 1
            1、0 :完全透明(元素不可见)
            2、1 :不透明
            3、0-1 之间小数:半透明

3.4光标类型cursor

作用:鼠标悬停在元素上时指针显示样式

属性名:cursor

属性值效果
default默认值,通常是箭头
pointer小手效果,提示用户可以点击
text工字形,提示用户可以选择文字
move十字光标,提示用户可以移动

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值