background-image
属性用于为一个元素设置一个或者多个背景图像
none
或者
. 如果指定多张背景图片, 就需要使用逗号 ,
将图片分开none
CSS
数据类型. 可以表示下面的数据url()
: 既可以是互联网的图片, 也可以是本地的图片
.box1 {
background-image: url(https://images.unsplash.com/photo-1490750967868-88aa4486c946?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Nnx8Zmxvd2VyfGVufDB8fDB8fA%3D%3D&auto=format&fit=crop&w=500&q=60);
background-image: url(../../float/coffee-whole.png);
}
渐变类型
.box2 {
background-image: linear-gradient(#348e42, #9852ac);
}
element()
从任意的 HTML
元素生成
类型的值. 目前这个函数只在 Firefox
中支持, Chrome
暂不支持
image()
: 这个函数类似url()
函数, 但是多了一些额外的功能, 比如可以指定图片的方向, 只展示图片的部分等. 但是这个函数目前所有浏览器都不支持
由 cross-fade()
函数定义的两张或者多张图像的混合
<div class="box box4">div>
<div class="box box5">div>
Chrome
等 浏览器要加 -wekbit-
前缀. 下面语法的意思是第一张图片 25%
的透明度, 第二章图片 75%
的透明度.box4 {
background-image: -webkit-cross-fade(
linear-gradient(red, orange),
linear-gradient(green, blue),
75%
);
background-image: cross-fade(
linear-gradient(red, orange),
linear-gradient(green, blue),
70%
);
}
.box5 {
background-image: linear-gradient(green, blue);
}
image-set()
:
在绘制图像时, 图像一层叠一层, 先指定的图像会在之后指定的图像上面绘制
元素的 border
在 background-image
之上绘制, 但是 background-color
在图像下绘制, 具体如何控制盒子和边框的关系需要使用 background-clip
和 background-origin
如果指定的图像因为不存在等原因而无法绘制, 浏览器会此情况等同于其值为 none
使用 backgroun-color
兜底