CSS样式补充-小兔鲜准备
一、CSS样式补充
1.1 精灵图的介绍
场景:项目中将多张小图片,合并成一张大图片,这张大图片称之为精灵图
优点:减少服务器发送次数,减轻服务器的压力,提高页面加载速度
例如:需要在网页中展示8张小图片
• 8张小图片分别发送 → 发送8次
• 合成一张精灵图发送 → 发送1次
1.2 精灵图的使用步骤
使用精灵图的步骤是什么?
1.创建一个盒子
2.设置盒子大小为小图片大小
3.设置精灵图为盒子的背景图片
4.将小图片左上角坐标 取负值,设置给盒子的background-position: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>
span {
display: inline-block;
width: 18px;
height: 24px;
background-color: pink;
background-image: url(./images/taobao.png);
/* 背景图位置属性: 改变背景图的位置 */
/* 水平方向的位置 垂直方向的位置 */
/* 想要向左侧移动图片,位置取负数 */
/* 想要向上侧移动图片,位置取负数 */
background-position: -3px 0;
}
b {
display: block;
width: 25px;
height: 21px;
background-color: green;
background-image: url(./images/taobao.png);
background-position: 0 -90px;
}
</style>
</head>
<body>
<!-- <img src="./images/taobao.png" alt=""> -->
<!-- 精灵图的标签都用行内标签 span,b,i -->
<span></span>
<b></b>
</body>
</html>
2.1 背景图片大小
作用:设置背景图片的大小
语法:background-size:宽度 高度;
取值:
<!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>
.box {
width: 400px;
height: 300px;
background-color: pink;
background-image: url(./images/1.jpg);
background-repeat: no-repeat;
/* background-size: 400px 300px; */
/* background-size: 50%; */
/* 如果图的宽或高与盒子的尺寸相同了,另一个方向停止缩放 -- 导致盒子可能有留白 */
/* background-size: contain; */
/* 保证宽和高与盒子尺寸完全相同 , 导致图片显示不全 */
background-size: cover;
/* 工作中,图的比列与盒子的比例都是相同的,contain 和 cover效果完全相同 */
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
2.2 background连写拓展
完整连写:background:color image repeat position/size
注意点: background-size和background连写同时设置时,需要注意覆盖问题
解决: 1.要么单独的样式写连写的下面 2.要么单独的样式写在连写的里面
3.1 文字阴影
作用:给文字添加阴影效果,吸引用户注意
属性名:text-shadow
取值:
拓展: 阴影可以叠加设置,每组阴影取值之间以逗号隔开
4.1 盒子阴影
作用:给盒子添加阴影效果,吸引用户注意,体现页面的制作细节
属性名:box-shadow
取值:
<!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>
.box {
width: 200px;
height: 200px;
background-color: pink;
/* 默认是外阴影 */
box-shadow: 5px 10px 20px 10px green inset;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
5.1 过渡
作用:让元素的样式慢慢的变化,常配合hover使用,增强网页交互体验
属性名:transition
常见取值:
注意点:
1.过渡需要:默认状态 和 hover状态样式不同,才能有过渡效果
2.transition属性给需要过渡的元素本身加
3.transition属性设置在不同状态中,效果不同的
① 给默认状态设置,鼠标移入移出都有过渡效果
② 给hover状态设置,鼠标移入有过渡效果,移出没有过渡效果
<!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>
/* 过渡配合hover使用,谁变化谁加过渡属性 */
.box {
width: 200px;
height: 200px;
background-color: pink;
/* 鼠标悬停的时候,宽度200-->宽度600,花费1s */
/* transition: width 1s,background-color 2s; */
/* 如果变化的属性多,直接写all,表示所有 */
transition: all 1s;
}
.box:hover {
width: 600px;
background-color: red;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
二、项目前置认知
1.1 生活中的例子
网页:相当于是每页纸
网站:相当于一本书籍
• 用户翻阅的时候,看的是每页纸上的内容
• 由多页纸整合在一起,就是完整的一本书籍了
1.2 网页与网站的关系
在互联网中,网站类似于是一本书,网页就是这本书的每一页
• 比如:淘宝、京东、黑马程序员等就是一个网站,类似于是一本书
• 这些网站中的每一个网页,如主页、登录页面、商品页面就是每一个单独的页面,类似于每一页纸
• 多个同主题网页整合在一起,就称之为网站
2.1 DOCTYPE文档说明
****文档类型声明,告诉浏览器该网页的 HTML版本
注意点:DOCTYPE需要写在页面的第一行,不属于HTML标签
2.2 网页语言
作用:搜索引擎归类 + 浏览器翻译
常见语言:zh-CN 简体中文 / en 英文
2.3 字符编码(了解)
作用:保存和打开的字符编码需要统一设置,否则可能会出现 乱码
常见字符编码:
1.UTF-8:万国码,国际化的字符编码,收录了全球语言的文字
2.GB2312:6000+ 汉字 3.GBK:20000+ 汉字
注意点:开发中 统一使用 UTF-8 字符编码即可
<!DOCTYPE html>
<!-- 使用的语言 -->
<html lang="en">
<head>
<!-- 规定网页的字符编码 -->
<meta charset="UTF-8">
<!-- ie(兼容性差) / edge -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 宽度 = 设备宽度 : 做移动端网页的时候要用 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
3.1 SEO三大标签
SEO三大标签分别是哪些?
1.title:网页标题标签
2.description:网页描述标签
3.keywords:网页关键词标签
<!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">
<meta name="description" content="京东JD.COM-专业的综合网上购物商城,为您提供正品低价的购物选择、优质便捷的服务体验。商品来自全球数十万品牌商家,囊括家电、手机、电脑、服装、居家、母婴、美妆、个护、食品、生鲜等丰富品类,满足各种购物需求。">
<meta name="keywords" content="网上购物,网上商城,家电,手机,电脑,服装,居家,母婴,美妆,个护,食品,生鲜,京东">
<title>京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
</body>
</html>
4.1 ico图标设置
场景:显示在标签页标题左侧的小图标,习惯使用.ico格式的图标
常见代码:
<!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">
<meta name="description" content="京东JD.COM-专业的综合网上购物商城,为您提供正品低价的购物选择、优质便捷的服务体验。商品来自全球数十万品牌商家,囊括家电、手机、电脑、服装、居家、母婴、美妆、个护、食品、生鲜等丰富品类,满足各种购物需求。">
<meta name="keywords" content="网上购物,网上商城,家电,手机,电脑,服装,居家,母婴,美妆,个护,食品,生鲜,京东">
<title>京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
</body>
</html>
5.1 版心的介绍
场景:把页面的主体内容约束在网页中间
作用:让不同大小的屏幕都能看到页面的主体内容
代码:
注意点:版心类名常用:container、wrapper、w 等
6.1(拓展补充) CSS书写顺序
衡量程序员的能力,除了要看实现业务需求的能力,还要看平时书写代码的规范(专业性)
不同的CSS书写顺序会影响浏览器的渲染性能,推荐前端工程师使用专业的书写顺序习惯
注意点:开发中推荐多用类 + 后代,但不是层级越多越好,一个选择器中的类选择器的个数推荐不要超过3个