css - background

一、背景

1. 背景颜色

background-color: 颜色值;
描述
transparent默认值,透明的
#fff十六进制颜色值
rgba可以设置透明度

背景半透明(CSS3)

background: rgba(0, 0, 0, 0.3);

/* 0.3 可以简写为 .3 */
background: rgba(0, 0, 0, .3);
  • 最后一个参数是 alpha 透明度 取值范围 0 ~ 1 之间
  • 注意:背景半透明是指盒子背景半透明,盒子里面的内容不受影响

2. 背景图片

语法:background-image : none | url (url) ;
例如: background-image: url(images/1.png);

3. 背景平铺

background-repeat : repeat | no-repeat | repeat-x | repeat-y 
参数作用
repeat背景图像在纵向和横向上平铺(默认的)
no-repeat背景图像不平铺
repeat-x背景图像在横向平铺
repeat-y背景图像在纵向平铺

4. 背景位置

默认从 左上角 开始

background-position : length|position || length|position
参数
length百分数 | 由浮点数字和单位标识符组成的长度值
positiontop | center | bottom | left | center | right 方位名词

注意

  • 必须先指定 background-image 属性
  • position 后面是 x 坐标和 y 坐标。可以使用 方位名词 或者 精确单位
  • 如果指定两个值,两个值都是方位名字,则两个值前后顺序无关,比如 left toptop left 效果一致
  • 如果只指定了一个值,另一个值默认 垂直居中center50%)。

5. 背景尺寸

background-size: length|percentage(%)|cover|contain

说明
length设置背景图片高度和宽度。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个值默认为 auto
percentage(%)将计算相对于背景定位区域的百分比。第一个值设置宽度,第二个值设置的高度。。如果只给出一个值,第二个值默认为 auto
cover保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
contain保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。

6. 背景简写

  • background:属性的值的书写顺序官方没有强制的标准。为了可读性,建议如下写:
  • background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
/* 有背景图片背景颜色可以不用写 */
background: transparent url(image.jpg) repeat-y  scroll center top;

7. 背景总结

属性作用
background-color背景颜色预定义的颜色值/十六进制/RGB代码
background-image背景图片url(图片路径)
background-repeat是否平铺repeat/no-repeat/repeat-x/repeat-y
background-position背景位置length/position 分别是x 和 y坐标, 切记 如果有 精确数值单位,则必须按照先X 后Y 的写法
background-size背景尺寸length percentage(%) cover contain
background-attachment背景固定还是滚动scroll/fixed
背景简写更简单背景颜色 背景图片地址 背景平铺 背景滚动 背景位置; 他们没有顺序
背景透明让盒子半透明background: rgba(0,0,0,0.3); 后面必须是 4个值

8. 实现小程序中的图片模式

scaleToFill

缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素

object-fit: fill; 也可以实现

background: url('./image/bg.jpeg') no-repeat left top / 100% 100%;
aspectFit

缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。

object-fit: contain; 也可以实现

background: url('./image/bg.jpeg') no-repeat center / contain;
aspectFill

缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。

object-fit: cover; 也可以实现

background: url('./image/bg.jpeg') no-repeat center / cover;
center

裁剪模式,不缩放图片,只显示图片的中间区域

object-fit: none; 也可以实现

background: url('./image/bg.jpeg') no-repeat center

二、渐变

以显示两种或多种指定颜色之间的平滑过渡

1. 线性渐变

一个方向另一个方向 的渐变

语法

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

direction

说明
to bottom默认值,从上到下
to top从下到上
to right从左到右
to left从右到左
angle用角度值指定渐变的方向,例如:45deg

color-stop
可以使用关键字 redrgba(透明也可以设置)或十六进制设置颜色

示例

/* 从上到下,默认就是这个方向 */
.box-1 {
  background: linear-gradient(to bottom, red, blue, yellow);
}

/* 从左到右 */
.box-2 {
  background: linear-gradient(to right, red, blue, yellow);
}

/* 从左下角到右上角的对角线渐变(角度是以底部为起点,逆时针,45度就是左下角) */
.box-3 {
  background: linear-gradient(45deg, red, blue, yellow);
}

/* 从左下角到右上角的对角线渐变 */
.box-4 {
  background: linear-gradient(to right top, red, blue, yellow);
}

/* 从下到上渐变,先从红色开始 -> 再到蓝色(40%:从容器高度的40%是蓝色渐变的开始) -> 最后以黄色结束 */
.box-5 {
  background: linear-gradient(0deg, red, blue 40%, yellow);
}

渐变角度
渐变角度

2. 径向渐变

径向渐变由其中心定义。从 一个点 向四周的渐变

语法

background-image: radial-gradient(shape size at position, start-color, ..., last-color);
### CSS `background-image` 和 `background` 的区别及具体用法 #### 背景介绍 CSS 中的 `background-image` 是专门用来定义元素背景图像的一个属性,而 `background` 则是一个复合属性,能够一次性设置多个背景相关的样式。 #### `background-image` 属性的具体用法 `background-image` 用于指定一个或多个作为背景显示的图像。其基本语法如下: ```css background-image: url('image.jpg'); ``` 此属性支持多种类型的文件路径以及渐变效果[^1]。如果图像无法加载或者希望等待大图完全渲染出来之前页面一片空白,则可以通过配合使用 `background-color` 来提供一种备用的颜色方案[^2]。 #### `background` 属性的具体用法 相比之下,`background` 可以综合控制更多方面的背景特性,包括但限于颜色、图片位置、重复方式等。它的完整形式可能看起来像这样: ```css background: color || image || repeat || attachment || position; /* 示例 */ background: #f0f0f0 url('bg.png') no-repeat fixed center; ``` 这里需要注意的是,当利用 shorthand (简写) 形式的 `background` 设置时,任何未明确声明的部分都会被重置为其初始值。因此,在实际开发过程中要特别小心确保所有必要的参数都被覆盖到。 #### 主要差异对比 | 特性 | `background-image` | `background` | |-------------------|--------------------------------------------|---------------------------------------------| | **功能范围** | 单独设定背景图片 | 同时设定背景颜色, 图片及其行为 | | **默认值** | none | see-through | | **可继承性** | 会自动传递给子节点 | 同样会自动传递 | | **复杂度管理** | 更加简单明了 | 需要考虑各个选项之间的相互影响 | 通过上述表格可以看出两者各有侧重适用场景同。对于只需要更改背景图案的情况推荐单独采用 `background-image`; 如果涉及更复杂的定制需求则更适合运用完整的 `background` 定义方法。 ```css /* 使用 background-image 示例 */ div { width: 100px; height: 100px; border: 1px solid black; background-image: url(example.jpg); } /* 使用 background 综合示例 */ div { width: 100px; height: 100px; border: 1px solid black; background: red url(example.jpg) no-repeat scroll top left / cover ; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值