当前位置: 首页 > news >正文

21.3 CSS 背景属性

image-20230901120028773

1. 背景颜色

background-color属性: 设置元素的背景颜色.
它可以接受各种颜色值, 包括命名颜色, 十六进制颜色码, RGB值, HSL值等.快捷键: bc+tab background-color:#fff;

2023-08-22_00032

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background color</title><style>div {height: 100px;}.box1 {background: red;}.box2 {background: rgb(100, 100, 100);}.box3 {background: rgba(100, 100, 100, d0.5);}.box4 {background: #AAAAAA;}.box5 {background: #666;}</style>
</head>
<body><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div><div class="box5"></div>
</body>
</html>

2023-08-22_00032

image-20230822202154103

2. 背景图片

background-image属性: 设置元素的背景图片.
可以使用该属性指定一个图片文件的URL作为元素的背景.注意事项: 如果图片的大小, 没有标签大, 那么会自动在水平和垂直方向平铺和填充.快捷键: bi+tab background-image:url("");
背景图片: 仅仅是一个装饰, 不会占用位置, 有定位属性可以控制图片位置.
插入图片: 会占用位置, 没有定位属性, 控制图片位置难, 搜索引擎能收录.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background image</title><style>div {height: 1000px;width: 1000px;background-image: url(image/img1.gif);}</style>
</head>
<body>
<div></div>
</body>
</html>

image-20230822203145007

3. 背景图像重复方式

background-repeat属性: 用来控制背景图像的重复方式.
它可以设置在CSS中的背景属性(background或background-image).常用属性值:
- repeat: 默认值, 背景图像在水平和垂直方向上重复.
- repeat-x: 背景图像在水平方向上重复.
- repeat-y: 背景图像在垂直方向上重复.
- no-repeat: 背景图像不重复, 只出现一次.
- round: 背景图像在水平和垂直方向上拉伸或缩小, 直到填满整个容器.
- space: 背景图像在水平和垂直方向上复制以填满容器, 但图像之间的间隔保持相等.快捷键: bgr+tab background-repeat:;
应用场景: 为网页设置背景图片, 图片越大, 需要加载的时间越长, 通过平铺来降低图片的大小, 提示网页的访问速度(使用有规律的图片).找一张有规律, x, y轴平铺.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background repeat</title><style>div {height: 1080px;width: 1920px;}.box1 {background-image: url(image/img2.png);}</style>
</head>
<body>
<div class="box1"></div>
</body>
</html>

image-20230822203903030

4. 背景图片定位

background-position属性: 用于设置背景图像在容器内的位置.该属性可以采用以下方式进行设置:
* 1. 使用关键字或关键字组合:- left: 将背景图像向容器的左侧对齐.- center: 将背景图像在容器中水平和垂直居中.- right: 将背景图像向容器的右侧对齐.- top: 将背景图像向容器的顶部对齐.- bottom: 将背景图像向容器的底部对齐.- 关键字组合: 可以使用关键字组合(左或右, 上或下), 'left top', 'right bottom', 将背景图像分别在水平和垂直方向上对齐.* 2. 使用像素, 百分比或其他单位的值:- px: 使用像素值来指定背景图像相对于容器边框的偏移位置.- %: 使用百分比值来指定背景图像相对于容器宽度或高度的偏移位置.- 其他单位: 可以使用其他有效的长度单位如: em, rem, vw, vh等.注意事项: 同一个标签可以同时设置背景颜色和背景图片, 如果颜色和图片同时存在, 图片会覆盖背景颜色.快捷键: bp+tab background-position:0 0;

4.1 关键字定位

kn

ml

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background position 1</title><style>div {height: 300px;width: 300px;background: #00ff19;}.box1 {background-image: url(image/柯南.jpg);background-repeat: no-repeat;background-position: top left; /* 垂直方向 上  水平方向 左 */}.box2 {background-image: url(image/小兰.jpg);background-repeat: no-repeat;background-position: bottom right; /* 垂直方向 下   水平方向 右 */}</style>
</head>
<body>
<div class="box1"></div>
<hr>
<div class="box2"></div>
</body>
</html>

image-20230822205608893

4.2 像素定位

image-20211020191231310

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background position 2</title><style>div {height: 300px;width: 300px;background: red;}.box1 {background-image: url(image/柯南.jpg);background-repeat: no-repeat;background-position: 100px 0;}.box2 {background-image: url(image/小兰.jpg);background-repeat: no-repeat;background-position: -50px -50px;}</style>
</head>
<body>
<div class="box1"></div>
<hr>
<div class="box2"></div>
</body>
</html>

image-20230822210103328

4.3 练习

4.3.1 图片居中

image-20220216190259843

假设图片大小为 96x96 像素, div大小为300x300像素.
要使图片在div中水平和垂直居中, 可以按照以下方式计算背景图像的background-position属性值.水平偏移量 = (div 宽度 - 图片宽度) / 2 = (300 - 96) / 2 = 102 像素
垂直偏移量 = (div 高度 - 图片高度) / 2 = (300 - 96) / 2 = 102 像素* 默认设置图标的左上角坐标.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background position 3</title><style>.box1 {width: 300px;height: 300px;background-color: aqua;background-image: url(image/柯南2.jpg);background-repeat: no-repeat;  /* 不平铺 */background-position: 102px;}</style>
</head>
<body><div class="box1"></div>
</body>
</html>

image-20230822210543729

4.3.2 优先展示

优先展示: 网页始终将图片中间的重要信息给展示出来.
通常设置: background-position: center top;

csdn

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background position 4</title><style>div {height: 160px;}.box {background-image: url(image/1024.gif);background-position: center top;}</style>
</head>
<body>
<div class="box"></div>
</body>
</html>

2023-08-22_00040

4.3.3 图片拼接

将下面两张图片拼接在一起.

j2

j1

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background position 5</title><style>div {width: 1400px;height: 900px;}.box1 {background-image: url(image/剑圣1.png);background-repeat: no-repeat;background-position: 61% top;}.box2 {background-image: url(image/剑圣2.png);}</style>
</head>
<body>
<div class="box2"><div class="box1"></div>
</div>
</body>
</html>

image-20230822215900487

4.3.4 图片重叠

将下面两张图片重叠在一起.

鱼1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background position 6</title><style>div {width: 1136px;height: 632px;}.box1 {background-image: url(image/鱼1.png);background-repeat: no-repeat;}.box2 {background-image: url(image/鱼2.png);background-repeat: no-repeat;background-position: center bottom;}</style>
</head>
<body><div class="box1"><div class="box2"></div></div>
</body>
</html>

image-20230822220644155

5. 背景图片关联

background-attachment属性: 指定背景图像的滚动行为(背景图片与滚动条之间的关联方式).常用属性值:
- scroll: 背景图像会随着页面的滚动而滚动.
- fixed:  背景图像在页面滚动时固定不动, 保持在可视区域的固定位置.
- local:  背景图像会随着元素内容的滚动而滚动, 而不是整个页面的滚动.快捷键: ba+tab background-attachment:;
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background attachment</title><style>.box1 {background-image: url(image/img2.png);background-repeat: no-repeat;background-attachment: fixed;}</style>
</head>
<body>
<div class="box1">x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>x <br> x <br> x <br> x <br>
</div>
</body>
</html>

GIF 2023-8-22 22-11-57

6. 背景属性缩写

背景属性缩写格式:
background: 背景颜色 背景图片 平铺方式 关联方式 定位方式;注意事项: background中可以省略任何一个属性值. 快捷键(可能失效): gb+ +tab: background: #fff url() 0 0 no-repeat;

yy

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background</title><style>div {width: 300px;height: 300px;}/*完整格式*/.box1 {background-color: aqua;background-image: url(image/太极.png);background-repeat: no-repeat;background-position: center;}/*缩写格式*/.box2 {background: red url(image/太极.png) no-repeat center;}</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
</body>
</html>

image-20230822221601857

7. 背景图片大小

background-size属性: 定义背景图片的大小.常用属性值:
* 1. 具体像素值: 可以指定背景图片的宽度和高度.例如'background-size: 200px 300px;', 表示背景图片宽度为200像素, 高度为300像素.* 2. 百分比值: 可以根据容器元素的大小来调整背景图片的尺寸.例如'background-size: 50% auto;', 表示背景图片的宽度为容器宽度的50%, 高度根据图片原始比例自动计算.* 3. 关键词值:- auto: 背景图片的尺寸保持原始比例, 并根据容器大小进行自动调整.- cover: 等比例缩放背景图片, 以完全覆盖容器, 可能会有部分图片超出容器范围.- contain: 等比例缩放背景图片, 以完全适应容器, 可能会有背景区域出现空白.例如,' background-size: cover;': 表示将背景图片等比例缩放以完全覆盖容器, 可能会裁剪部分图片.'background-size: contain;': 表示将背景图片等比例缩放以完全适应容器, 可能会在容器内留有空白区域. 请注意, 'background-size'属性只对具有背景图片的元素起作用, 而不会影响其他元素.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background size</title><style>body {background-image: url(image/太极.png);/* 不缩放 */background-size: 300px 300px;/* 不平铺 */background-repeat: no-repeat;}</style></head>
<body>
</body>
</html>

image-20230901111547954

固定背景图片的大小, 不随页面缩放.
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>background attachment</title><style>body {/* 缩放页面不影响背景图片 */background-image: url(image/壁纸.webp);background-attachment: fixed;background-repeat: no-repeat;background-size: cover;}</style>
</head>
<body></body>
</html>

GIF 2023-9-1 11-30-59

8. CSS精灵图

CSS精灵图(CSS Sprite): 是一种将多个图像合并到单个图像文件中的技术.
通过使用CSS中的背景定位和尺寸控制, 可以只显示图像文件中的特定部分, 从而实现在网页中展示多个图像.
使用CSS精灵图的好处包括减少HTTP请求次数, 提高页面加载速度, 以及更好的用户体验.CSS精灵图需要配合背景图片和背景定位来使用.
使用Adobe Fireworks CS6 工具 中的web切片工具快速找到图片的位置.

jlt2

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>CSS Sprite</title><style>div {width: 140px;height: 140px;display: inline-block; /* 设置为行内块级标签  */background-image: url("https://s2.loli.net/2022/02/16/yE1xHUWdnovFZYT.jpg");}.box1 {background-position: -1041px -1443px;}.box2 {background-position: -1445px -1442px}.box3 {background-position: -1832px -1644px;}.box4 {background-position: -237px -245px;}</style>
</head>
<body>
<div class="box1"></div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div>
</body>
</html>

image-20230901113243028

http://www.lryc.cn/news/155588.html

相关文章:

  • Ansible 常用命令50条
  • ceph源码阅读 erasure-code
  • C++ 之 命名空间
  • MyBatis关系映射
  • DVWA失效的访问控制
  • docker 笔记2 Docker镜像和数据卷
  • java springboot 时间格式序列化 UTC8
  • 攻防世界-Get-the-key.txt
  • MyBatisPlus之DQL编程控制
  • 本地使用GFPGAN进行图像人脸修复
  • Linux--进程概念
  • dex2oat编译模式、触发场景、命令强制执行
  • 深度学习 | TCN时间卷积神经网络模型答疑
  • Linux之修改服务端口号
  • LeetCode笔记:Weekly Contest 361
  • Springboot快速搭建Web API项目
  • 数据结构day06(单向循环链表、双向链表)
  • zabbix -- 新建主机
  • =>符号含义
  • Docker+Jenkins(blueocean)+Gitee构建CICD流水线实战
  • Redis快速入门
  • EasyExcel 修改导出的文件属性
  • 电子班牌云平台系统——智慧校园管理工具,多媒体信息发布、走班排课、家校互通、物联控制、教务管理、考勤管理、素质评价、日常办公
  • docker-compose 部署 Seata整合nacos,Postgresql 为DB存储
  • three.js 场景中如何彻底删除模型和性能优化
  • Bridge Champ举办人机对战赛:NFT游戏与传统竞技共生发展编织新格局
  • Visual Studio软件_MSC_VER值(MSVC编译器版本)的获取方法
  • 02-Linux-IO多路复用之select、poll和epoll详解
  • echo、print_r、print、var_dump 、die
  • 【LeetCode75】第四十四题 省份数量