如果想让一个区域具有纯色的背景,可以使用background-color进行设置,背景颜色可以是rgb,rgba,#16网页色。

css 透明背景(CSS背景处理)(1)

背景颜色

背景图片


  如果想加入背景图片,请使用background-image:url();进行设置。

  请注意:背景图片默认不会改变原本盒子的大小。与在盒子中插入<img>是不同的。

css 透明背景(CSS背景处理)(2)

背景图片

背景剪裁


  我们可以将背景设置为盒子的某一区域,比如content区域或者padding区域以及border区域。

  请使用background-clip来进行指定。

选项说明border-box包括边框padding-box不含边框,包括内边距content-box内容区域

css 透明背景(CSS背景处理)(3)

背景剪裁

背景重复


  如果背景图太小,那么默认会进行重复行为,如下所示。但是我们可以使用background-repeat为它指定如何重复。

选项说明repeat水平、垂直重复repeat-x水平重复repeat-y垂直重复no-repeat不重复space背景图片对称均匀分布

  不指定,默认repea:

css 透明背景(CSS背景处理)(4)

  指定为no-repeat:

css 透明背景(CSS背景处理)(5)

取消背景重复

背景滚动


  我们可以使用background-attachment为背景指定到底是跟随滚动条滚动还是在一个固定的位置不滚动。默认是scroll,即跟随滚动条滚动的。

选项说明scroll背景滚动fixed背景固定

css 透明背景(CSS背景处理)(6)

css 透明背景(CSS背景处理)(7)

背景固定

背景位置


  我们可以使用background-position设置背景图片的水平、垂直定位。

选项说明left左对齐right右对齐center居中对齐top顶端对齐bottom底部对齐

  只设置center为水平,垂直居中。

  设置left center则为水平居左,垂直居中。

  设置right center则为水平居右,垂直居中。

  设置center left则为水平居中,垂直居左。

  设置center right则为水平居中,垂直居右。

  当然,我们也可以使用%来为它进行设置,P为居中。

css 透明背景(CSS背景处理)(8)

背景位置

背景尺寸


  我们可以使用background-size来设置背景尺寸,单位可以是单词,%,px,em以及rem。

  当使用单词设置的时候一个词就可以搞定,而其他设置时需要两个单位,第一个为背景高度,第二个为背景宽度。

选项说明cover背景完全覆盖,可能会有背景溢出contain图片不溢出的放在容器中,可能会漏出部分区域

  指定数值定义宽高尺寸

复制代码

background-size: 50% 100%; 或 background-size: 200px 200px;

  宽度固定高度自动(这个常用)

复制代码

background-size: 50% auto;

css 透明背景(CSS背景处理)(9)

背景尺寸

简写


  我们可以直接使用background来进行简写。

  推荐顺序:颜色,地址,是否重复,背景裁剪,背景尺寸或是否跟随滚动

  如:

复制代码

background:red url(./33.jpg) no-repeat border-box center;

css 透明背景(CSS背景处理)(10)

多个背景


  我们可以使用background-image: url(路径), url(路径);来一次指定多个背景。

  就如同上面一样,我们一次给他定义了2个背景一个红色,一个图片。

背景阴影

  我们可以使用 box-shadow 对盒子元素设置阴影,参数为 水平偏移,垂直偏移,模糊度,颜色 构成。

css 透明背景(CSS背景处理)(11)

背景阴影

颜色渐变

线性渐变


  渐变一般都是在背景颜色中进行使用,格式为background: linear-gradient(方向, 颜色, 颜色, ...);。

css 透明背景(CSS背景处理)(12)

复制代码

/* 红色到绿色,可以看到是线性的渐变 */ background: linear-gradient(red, green);

  使用度数deg可以改变渐变角度,如果为负数则代表相反方向。

css 透明背景(CSS背景处理)(13)

复制代码

/* 倾斜30°,红色到绿色 */ background: linear-gradient(30deg, red, green);

  我们可以使用to 方向1 方向2指定渐变的方向,注意:不能用度数deg同时使用

css 透明背景(CSS背景处理)(14)

复制代码

/* 向右渐变 ,红色到绿色 */ background: linear-gradient(to right, red, green)

css 透明背景(CSS背景处理)(15)

复制代码

/* 向左渐变 ,红色到绿色 */ background: linear-gradient(to left, red, green)

css 透明背景(CSS背景处理)(16)

复制代码

/* 向左上渐变 ,红色到绿色 */ background: linear-gradient(to left top, red, green)

css 透明背景(CSS背景处理)(17)

复制代码

/* 向右下渐变 ,红色到绿色 */ background: linear-gradient(to right bottom, red, green)

  同时,我们可以设置多颜色渐变。

css 透明背景(CSS背景处理)(18)

复制代码

/* 向右渐变 ,红色到绿色到蓝色到黄色 */ background: linear-gradient(to right, red, green, blue, yellow)

径向渐变


  格式为background: radial-gradient(方向, 宽度, 颜色, 颜色, ...);。

css 透明背景(CSS背景处理)(19)

复制代码

/* 红色到绿色,可以看到是径向的渐变 */ background: radial-gradient(red, green);

  我们可以设置渐变色的宽度。

css 透明背景(CSS背景处理)(20)

复制代码

/* 红色到绿色,设置宽度 */ background: radial-gradient(50px 50px,red, green);

  我们可以使用at 方向1 方向2来进行渐变方向控制。

css 透明背景(CSS背景处理)(21)

复制代码

/* 红色到绿色,渐变方向为右上,由于设置了宽度,效果并不美观。*/ background: radial-gradient(at right top ,red 200px, green 20px);

css 透明背景(CSS背景处理)(22)

复制代码

/* 红色到绿色,渐变方向为左下,由于设置了宽度,效果并不美观。*/ background: radial-gradient(at left bottom ,red 200px, green 20px);

css 透明背景(CSS背景处理)(23)

复制代码

/* 红色到绿色,渐变方向为左侧向中心,由于设置了宽度,效果并不美观。*/ background: radial-gradient(at left center ,red 200px, green 20px);

css 透明背景(CSS背景处理)(24)

复制代码

/* 红色到绿色,渐变方向为底部向中心,由于未设置宽度,效果好一些了*/ background: radial-gradient(at bottom center ,red, green); }

  我们依然可以设置很多颜色来进行渐变。

css 透明背景(CSS背景处理)(25)

复制代码

/* 红色到绿色到蓝色到黄色,渐变方向为底部向中心,由于未设置宽度,效果好一些了*/ background: radial-gradient(at bottom center ,red, green ,blue ,yellow); }

标识位


  当未指定标识位时,颜色的渐变很均匀。一旦指定了标识位,就会发生突变。

  未设置标识位:

css 透明背景(CSS背景处理)(26)

  单方设置了标识位:

css 透明背景(CSS背景处理)(27)

复制代码

background: linear-gradient(90deg, red 60%, blue);

  双方设置了标识位:

css 透明背景(CSS背景处理)(28)

复制代码

background: linear-gradient(90deg, red 60%, blue 40%);

  使用径向标识位绘制太阳

css 透明背景(CSS背景处理)(29)

径像渐变绘制小太阳

中间点阈值


  所谓中间点阈值,指的就是两个颜色渐变的时候,从哪个点开始让一个颜色渐变到另一个颜色。

  比如这个示例,红色标识位为60%,蓝色标识位为40%,渐变的中间点阈值就只能变成0了。

css 透明背景(CSS背景处理)(30)

  再比如这个示例,单方设置了标识位,那么它的阈值就是由系统产生的,所以我们才能看见它渐变的效果。

css 透明背景(CSS背景处理)(31)

  怎么设置中间点阈值呢?看下面这段代码。

css 透明背景(CSS背景处理)(32)

复制代码

/* 0%就是中间点阈值,当设置为0后那么红色变蓝色会由0%的位置开始 */ background: linear-gradient(90deg, red ,0%, blue);

css 透明背景(CSS背景处理)(33)

复制代码

/* 我们的中间点阈值是20%,先是红色占了10%,那么可观测范围中中间点阈值也就只有10%了,所以上图的渐变区域为10% */ background: linear-gradient(90deg, red 10% ,20%, blue 80%);

线性渐变重复


  要想使用线性渐变重复,请使用repeating-linear-gradient。

css 透明背景(CSS背景处理)(34)

复制代码

/* 一个格子为 75px */ background: repeating-linear-gradient(90deg, blue, 25px, red 50px);

  如果我们想要生硬的颜色,我们还需要再随便加一个颜色充当过渡。

css 透明背景(CSS背景处理)(35)

复制代码

background: repeating-linear-gradient(90deg, blue, 25px, yellow 25px, 25px, red 50px);

径向渐变重复


  要想使用线性渐变重复,请使用repeating-radial-gradient。

css 透明背景(CSS背景处理)(36)

复制代码

background: repeating-radial-gradient(20px 20px, red 0%, yellow 20%, blue 30%, green 50%);

  如果你还对标识位,中间点有什么疑惑,那么可以仔细找一找代码中的规律。

,