前端开发那些事儿程序员视觉艺术

1-2-6【CSS核心样式】背景属性

2020-10-29  本文已影响0人  Liyager

忙里偷闲,写一些笔记,还是蛮有意思的。


文章内容输出来源:拉勾教育大前端就业集训营

1.背景属性

CSS通过background属性来设置背景,它是一个综合属性,可以拆分成多个单一属性。

2.背景颜色

<style>
    div{
        width: 100px;
        height: 100px;
        padding: 10px;
        border: 10px dashed red;
        margin: 10px;
        background-color: blue;
    }
</style>

说明:注意一下,border也是背景颜色的加载范围,此处故意用“虚线样式”就是为了让大家看到边框线下面的背景颜色。

3.背景图片

说明:背景图片压盖背景颜色显示,起始位置不包括border所在区域!

4.背景图是否重复

属性值 作用
repeat 重复,默认属性值,会使用背景图片重复加载填满整个盒子的背景区域
no-repeat 不重复,不论背景图是否大于盒子范围,都只加载一次图片
repeat-x 水平重复,使用背景图片铺满第一行,垂直方向无
repeat-y 垂直重复,使用背景图片铺满第一列,水平方向无

说明:repeat重复显示图片,border所在区域也会被填满。

说明:no-repeat不重复显示图片,只会显示一张图片,且在盒子左上角border内侧展示。

说明:repeat-x水平方向重复,水平方向border所在区域也会被填满。

说明:repeat-y垂直方向重复,垂直方向border所在区域也会被填满。

5.背景图片的定位

说明:以图片在盒子中的右下角位置举例。

说明:图片的起始位置是border以内!不算border所在区域!

说明:数值区分正负,负数就是对应方向的反向。

说明:百分比表示法比较难以理解,以水平方向为例,100%代表的是:“盒子的width + 左右padding - 图片宽度”的距离。工作中很少用到,了解即可

6.背景附着

属性值 说明
scroll 滚动的,表示背景图片与盒子保持相对位置不变,随着页面的滚动而滚走
fixed 固定的,背景图片定位变更为浏览器窗口的左上顶点,不会随着页面滚动而滚走

说明:scroll,背景图片随着浏览器窗口的滚动而滚动。

说明:fixed,浏览器窗口滚动,但是背景图片固定在浏览器窗口上不动。
由于图片是写在div盒子里,所以图片只能显示在盒子范围内

7.属性综合写法

<style>
    .box3{
        width: 200px;
        height: 200px;
        background: pink right bottom url(jianshu.jpg) scroll no-repeat;
    }
</style>

说明:除了right bottom这两个描述背景图片位置的属性之间不能换位外,其他的属性值可以写在任意位置。

 <style>
        div{
            background: url(jianshu.jpg) center center no-repeat scroll pink;
            background-color: red;
        }
</style>

说明:使用单一属性background-color:red;层叠了综合属性中的pink。

8.背景属性的实际应用

应用一:替换插入图

说明:这样一来,既展示了logo,又搞定了关键字。但是你发现,文字影响了logo的展示,怎么办?

说明:增加了一个text-indent属性,属性值为负数。相当于把文字向左缩进了1000px,所以文字被隐藏了。
文字隐藏还有一个办法,将font-size设置为0,但是IE7以下版本浏览器会存在兼容问题,所以不推荐使用

应用二:padding区域背景图

说明:文字内容只能显示在width和height区域内,增加padding-left的目的就是防止背景图片和文字内容发生重叠。

9.CSS3新增背景属性

背景半透明

    background-color: rgba(255,0,0,0.5);

说明:这里描述的颜色是透明度为50%的红色。

说明:本来背景颜色应该是亮红色,因为只有20%的透明度,所以看起来很淡。

背景缩放

属性值 说明
px 1-2个像素值,只设置一个值时,以宽度为基准垂直方向等比例拉伸;设置两个值,则宽高按照像素值调整
% 1-2个百分比值,与像素值类似;百分比参考盒子的宽高属性
cover 自动调整缩放比例,把背景图缩放至足够大,以使背景图像完全覆盖背景区域,若溢出则隐藏
contain 自动调整缩放比例,把背景图缩放至足够大,保证图片完整显示在背景区域

说明:第一个盒子中包裹的图片是图片的原尺寸大小;第二个盒子中的图片是以宽度为200px,高度等比例缩放的效果;第三个盒子中的图片,宽高分别设定为200px。

说明:第一个盒子中包裹的图片是图片的原尺寸大小;第二个盒子中的图片是以盒子宽度为基准的50%,高度等比例缩放的效果;第三个盒子中的图片是以盒子宽度的50%,盒子高度的100%缩放的。

说明:第一个盒子中包裹的图片是图片的原尺寸大小;cover会自动按比例缩放图片,直至背景区域所有部分被图片覆盖

说明:第一个盒子中包裹的图片是图片的原尺寸大小;contain会自动按比例缩放图片,直至图片在水平or垂直方向完全覆盖背景区域为止
因为原图的宽度大于高度,所以是水平方向先完全覆盖,所以停止缩放

多背景

<style>
        .box1{
            background-image:  url(star.jpg),url(jianshu.jpg),url(../baidu2.jpg);
        }
</style>

说明:路径先写的图片,覆盖后写的图片。星星图片是最先写的、然后是简书logo、最后是百度图片。

前端文章汇总目录

https://www.jianshu.com/p/6d80dd616ff4


结束语:一花一世界,一木一浮生,愿与诸君共勉~

上一篇 下一篇

猜你喜欢

热点阅读