CSS 基础:设置背景的 5 个属性及简写 background 注意点

2024-04-08 17:20

本文主要是介绍CSS 基础:设置背景的 5 个属性及简写 background 注意点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你好,我是云桃桃。

一个希望帮助更多朋友快速入门 WEB 前端的程序媛。大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合集

263篇原创内容-gzh

后台回复“前端工具”可获取开发工具,持续更新中

后台回复“前端基础题”可得到前端基础100题汇总,持续更新中

CSS 中的background背景属性是前端开发中常用的一个属性,它用于控制元素的背景样式,包括背景颜色、背景图片、背景位置等。

本文将详细探讨 CSS 中的background属性,包括 5 个子属性的用法、作用以及实际应用案例,来让我们一起看看吧。

5 个子属性

一、 background-color:用于设置元素的背景颜色。可以使用十六进制值、RGB 值等来指定颜色。例如:

body {background-color: #00ff00; /* 使用十六进制值 *//* background-color: rgb(255, 0, 0); 使用RGB值 *//*background-color: rgba(255, 0, 0, 0.5);  使用带不透明度的RGB值 */
}

关于颜色的几种写法,可以看这篇文章。html基础:颜色的 5 种表示方法(最全!)

当然,这个背景颜色不止可以作用在 body 标签上,也可以为任何 HTML 元素设置背景颜色,比如 div,p,h1,ul,li,input 等,都可以的。

二、 background-image:用于设置元素的背景图片。它的取值形式主要包括以下 4 种:

  1. 图片路径:可以直接指定图片的路径,例如 url('image.jpg')

  2. 线性渐变(Linear Gradient):使用 linear-gradient() 函数来定义线性渐变背景。

  3. 径向渐变(Radial Gradient):使用 radial-gradient() 函数来定义径向渐变背景。

  4. 其他图像类型(Other Image Types):还可以使用其他图像类型,如SVG(Scalable Vector Graphics)图像等。

咱们今天先说最基础的第 1 种,后面的随着深入学习再说。第 1 种是图片路径,是通过url()可以指定图片的路径,可以是相对路径或绝对路径。例如:

body {background-image: url(./img/bg1.jpg);
}

页面所用图片 bg1.jpg 图片如下:

图片

当然,背景图像不止可以作用在 body 标签上,也可以为任何 HTML 元素设置背景颜色,比如 div,p,h1,ul,li,input 等,都可以。

三、 background-repeat:用于控制背景图片的重复方式。常用的取值包括:

属性值说明
repeat默认值,背景图片在水平和垂直方向上平铺重复显示。
repeat-x背景图片在水平方向上平铺重复显示。
repeat-y背景图片在垂直方向上平铺重复显示。
no-repeat背景图片不重复,只显示一次。

例如,默认情况下,背景图片在水平和垂直方向上重复显示:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>body {background-image: url(./img/bg2.png);}</style></head><body><h1>hello,world!</h1><h2>这背景,有点奇怪......</h2></body>
</html>

页面所用图片 bg2.png 图片如下:

图片

效果如下:

图片

那其实是不是这个照片往一个水平方向比较好啊,所以,就可以让重复方向变为 repeat-x, 那元素的背景图片就会在水平方向上重复显示了。

<style>body {background-image: url(./img/bg2.png);background-repeat: repeat-x;}
</style>

效果如下:

图片

其他属性你可以自行试试。

四、 background-position:用于控制背景图片的位置。它的取值有三种类型:

  • 百分比值:指定背景图片位置相对于包含块的百分比。例如,background-position: 50% 50%; 表示背景图片在水平和垂直方向上都居中显示。

  • 像素值:指定背景图片位置相对于包含块的像素值。例如,background-position: 100px 50px; 表示背景图片距离包含块左侧 100 像素,距离顶部 50 像素。

  • 文字类取值。常用的取值包括:

属性值说明
left top背景图片在左上角显示。
left center背景图片在左侧水平居中显示。
left bottom背景图片在左下角显示。
center top背景图片在顶部垂直居中显示。
center center背景图片在水平和垂直方向上都居中显示。
center bottom背景图片在底部垂直居中显示。
right top背景图片在右上角显示。
right center背景图片在右侧水平居中显示。
right bottom背景图片在右下角显示。

例如,将背景图片位置设置在元素的右上角:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title></title><style>body {background-image: url(./img/bg3.png);background-repeat: no-repeat;background-position: right top;}</style></head><body><h1>hello,world!像素值:指定背景图片位置相对于包含块的像素值。例如,`background-position: 100px 50px;` 表示背景图片距离包含块左侧 100 像素,距离顶部 50 像素。</h1>...(把h1和内容复制16行,太长了,这里不写了)<h1>hello,world!像素值:指定背景图片位置相对于包含块的像素值。例如,`background-position: 100px 50px;` 表示背景图片距离包含块左侧 100 像素,距离顶部 50 像素。</h1><h1>hello,world!像素值:指定背景图片位置相对于包含块的像素值。例如,`background-position: 100px 50px;` 表示背景图片距离包含块左侧 100 像素,距离顶部 50 像素。</h1></body>
</html>

页面所用图片 bg3.png 图片如下:

图片

效果如图所示:

图片

这样设置后,背景图片就会在右上角显示。但是呢,还有一个问题,滚动页面的时候,会发现,图片跟着走了,如图。

图片

能不能滚动的时候,让背景图还固定到头部右上角不动呢?能,这就用到下一个属性了。

五、background-attachment :用于设置背景图片的滚动方式,控制背景图片是否随页面滚动而滚动。

取值有三种:

当然可以,请看下面的表格:

属性值说明
scroll背景图片随页面滚动而滚动,默认值。
fixed背景图片固定在视口的位置,不随页面滚动而滚动。
local背景图片随着其所在的容器滚动而滚动,当容器滚动时,背景图片也跟随滚动,而不是整个页面。

根据上个案例,只需加上 background-attachment: fixed;属性,代码如下,就不会随着页面的滚动而滚动了。

<style>body {background-image: url(./img/bg3.png);background-repeat: no-repeat;background-position: right top;background-attachment: fixed; /* 背景图片固定 */}
</style>

效果如图:

图片

这个例子中,背景图片将会固定在浏览器窗口的位置,不会随着页面的滚动而滚动。

这些属性的取值可以根据设计需求灵活使用,可以为网页带来不同的视觉效果和布局。但是每次设置一个背景,需要写5个属性,太多了,能不能一行写完呢?可以。

background 的混合写法

其实呢,通过巧妙地组合不同的背景属性,我们可以创建出丰富多彩的页面背景效果。

如何混合写呢?就以上一个案例来写吧,增加一个绿色的背景颜色。

<style>body {background: #2cecbc url(./img/bg3.png) no-repeat right top fixed;}
</style>

效果如图:

图片

当然,这种写法要注意以下 3 点:

  • 属性顺序:通常情况下,background属性的写法顺序为:background-colorbackground-imagebackground-repeatbackground-attachmentbackground-position。这些属性需要全写么?不必,按需。如果某些属性没有设置,则可以省略,但尽量保持顺序不变,比如,我完全可以把#2cecbc,right top去掉,直接就是background: url(./img/bg3.png) no-repeat fixed;,这样也没问题。

  • 简写方式:使用background属性可以简化代码,但需要确保各个属性值的顺序和含义正确,避免混淆和错误。

  • 可读性:尽量保持代码的可读性和易维护性,可以使用注释来说明各个属性的作用和含义,以便他人阅读和理解代码。

这样的设置,也达到了较为简洁而又美观的背景效果。

ok,以上,就是 background 的基础用法了,除了以上 5 个基础子属性,还有background-clipbackground-originbackground-size等,这些需要依赖未来的学习,所以后续用到再说。

也欢迎加我w.x,和我交流。

图片

这篇关于CSS 基础:设置背景的 5 个属性及简写 background 注意点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886153

相关文章

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Vuex Actions多参数传递的解决方案

《VuexActions多参数传递的解决方案》在Vuex中,actions的设计默认只支持单个参数传递,这有时会限制我们的使用场景,下面我将详细介绍几种处理多参数传递的解决方案,从基础到高级,... 目录一、对象封装法(推荐)二、参数解构法三、柯里化函数法四、Payload 工厂函数五、TypeScript

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字