26.背景

26.1 背景颜色

background-color 属性定义了元素的背景颜色。

background-color: 颜色值;

一般情况下元素背景颜色默认值是 transparent(透明),我们也可以手动指定背景颜色为透明色。

background-color: transparent;

目前 CSS 还支持丰富的渐变色,但是某些浏览器不支持。

<!doctype html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>渐变</title><style>#grad1 {height: 200px;/* 浏览器不支持时显示 */background-color: red;/* 线性渐变 - 从上到下(默认情况下)*/background-image: linear-gradient(#e66465, #9198e5);}</style>
</head><body><h3>线性渐变 - 从上到下</h3><p>从顶部开始的线性渐变。起点是红色,慢慢过渡到蓝色:</p><div id="grad1"></div><p><strong>注意:</strong> Internet Explorer 9 及之前的版本不支持渐变。</p>
</body></html>

26.2 背景图片

background-image 属性描述了元素的背景图像,实际开发常用于 logo 或者一些装饰性的小图片或者是超大的背景图片, 优点是非常便于控制位置(精灵图也是一种运用场景)。

background-image : none | url(url)
参数值 作用
none 无背景图(默认的)
url 使用绝对或相对地址指定背景图像

注意:背景图片后面的地址,千万不要忘记加 URL, 同时里面的路径不要加引号。

background-color: pink;
background-image: url(../images/logo.png);
/* 1、背景图片不平铺 */
/* background-repeat: no-repeat; */
/* 2、默认情况下,背景图片是平铺的 */
/* background-repeat: repeat; */ /* 页面元素既可以添加背景颜色也可以添加背景图片,只不过背景图片区域会覆盖背景颜色 */
  • 如果背景图片大小小于元素,则背景图片会自动在元素中平铺将元素铺满

  • 如果背景图片大小大于元素,则背景图片一部分会无法完全显示

  • 如果背景图片大小等于元素,则背景图片会直接正常显示

可以同时设置背景图片和背景颜色,这样背景颜色将会成为图片的背景色

26.3 背景平铺

如果需要在 HTML 页面上对背景图像进行平铺,可以使用 background-repeat 属性。

注:平铺可以简单的理解为“重复”。

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

26.4 背景图片位置

利用 background-position 属性可以改变图片在背景中的位置。

background-position: x y;

参数代表的意思是:x 坐标 和 y 坐标,可以使用 方位名词 或者 精确单位

参数值 说明
length 百分数 | 由浮点数字和单位标识符组成的长度值
position top | center | bottom | left | rigth 方位名词
  • 参数是方位名词

    • 如果指定的两个值都是方位名词,则两个值前后顺序无关,比如 left top 和 top left 效果一致
    • 使用方位词时必须要同时指定两个值,如果只写一个则第二个默认就是center
  • 参数是精确单位

    • 如果参数值是精确坐标,那么第一个肯定是 x 坐标,第二个一定是 y 坐标
    • 如果只指定一个数值,那该数值一定是 x 坐标,另一个默认垂直居中
  • 参数是混合单位

    • 如果指定的两个值是精确单位和方位名词混合使用,则第一个值是 x 坐标,第二个值是 y 坐标

26.5 背景图像固定(背景附着)

background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动。

background-attachment 后期可以制作 视差滚动 的效果。

background-attachment : scroll | fixed
参数 作用
scroll 默认值,背景图片会跟随元素移动
fixed 背景会固定在页面中,不会随元素移动
<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>超大背景图片</title><style>body {background-image: url(images/bg.jpg);background-repeat: no-repeat;background-position: center top;/* 把背景图片固定住 */background-attachment: fixed;color: #fff;font-size: 20px;}</style>
</head><body><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p><p>天王盖地虎, pink老师一米五</p>
</body></html>

26.6 背景大小

利用 background-size 属性可以设置背景图片的大小。

background-size: length|percentage|cover|contain;
描述
length 设置背景图片高度和宽度。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为 auto(自动)
percentage 将计算相对于背景定位区域的百分比。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为"auto(自动)"
cover 此时会保持图像的纵横比并将图像缩放成将完全覆盖背景定位区域的最小大小。
contain 此时会保持图像的纵横比并将图像缩放成将适合背景定位区域的最大大小。

26.7 背景范围

利用 background-clip 属性可以设置背景的范围 。

background-clip: border-box|padding-box|content-box;
说明
border-box 默认值,背景会出现在边框的下边
padding-box 背景不会出现在边框,只出现在内容区和内边距
content-box 背景只会出现在内容区

26.8 背景复合写法

为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性 background 中,从而节约代码量。
当使用简写属性时,没有特定的书写顺序,一般习惯约定顺序为:
background: 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置/背景大小

    background: #bfa url("assets/dlam.png") no-repeat 100px 100px/200px padding-box content-box;

注意

  • background-size必须写在background-position的后边,并且使用/隔开background-position/background-size

  • background-origin background-clip 两个样式,orgin要在clip的前边

这是实际开发中,我们更提倡的写法。

26.9 背景色半透明

CSS3 为我们提供了背景颜色半透明的效果。

background: rgba(0, 0, 0, 0.3);
  • 最后一个参数是 alpha 透明度,取值范围在 0~1 之间
  • 习惯把 0.3 的 0 省略掉,写为 background: rgba(0, 0, 0, .3);
  • 注意:背景半透明是指盒子背景半透明,盒子里面的内容不受影响
  • CSS3 新增属性,是 IE9+ 版本浏览器才支持的
  • 但是现在实际开发,我们不太关注兼容性写法了,可以放心使用
<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>背景色透明写法</title><style>div {width: 300px;height: 300px;/* background-color: black; */background: rgba(0, 0, 0, .3);}</style>
</head><body><!-- 只是让背景颜色半透明,盒子里的内容并不受影响 --><div>dselegent</div>
</body></html>

26.10 背景总结

属性 作用
backgroud-color 背景颜色 预定义的颜色值 / 十六进制 / RGB代码
backgroud-image 背景图片 url(图片路径)
backgroud-repeat 是否平铺 repeat / no-repeat / repeat-x / repeat-y
backgroud-position 背景位置 length / position 分别是 x 和 y 坐标
backgroud-attachment 背景附着 scroll(背景滚动)/ fixed(背景固定)
背景简写 书写更简单 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置
背景色半透明 背景颜色半透明 background: rgba(0, 0, 0, 0.3); 后面必须是4个值

背景图片:实际开发常见于 logo 或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)。

27.渐变色

27.1 线性渐变

通过渐变可以设置一些复杂的背景颜色,可以实现从一个颜色向其他颜色过渡的效果

渐变是图片,需要通过background-image来设置

线性渐变,颜色沿着一条直线发生变化 linear-gradient()

# 红色在开头,黄色在结尾,中间是过渡区域
background-image: linear-gradient(red, yellow);

线性渐变的开头,我们可以指定一个渐变的方向

  • to left

  • to right

  • to bottom

  • to top

  • deg deg表示度数

  • turn 表示圈

background-image: linear-gradient(to left, red, yellow);
background-image: linear-gradient(to right, red, yellow);
background-image: linear-gradient(to top, red, yellow);
background-image: linear-gradient(to bottom, red, yellow);

上面基本的4个方向的渐变很好理解,我们就不再做过多的一一解释了

我们来看度数的渐变效果

background-image: linear-gradient(45deg, red, yellow);

会发现它是从左下角往右上角去进行渐变的,为什么呢?

我们小时候肯定都用过量角器

是不是恍然大悟,我们以原点作为起始点,有角度的那条边去做渐变,再把四象限的概念和矩形内部的四个角对应起来

总结:线性渐变的边上的某一点为起点,以一定角度渐变的;渐变方向的颜色是线性变化的,而其垂线方向的颜色是一致的

然后看下圈数的表示方法

background-image: linear-gradient(0.4turn, red, yellow);

因为圈数和角度之间可以相互转换,所以这里就不再进行赘述了

另外,渐变可以同时指定多个颜色,多个颜色默认情况下平均分布,也可以手动指定渐变的分布情况

repeating-linear-gradient() 可以平铺的线性渐变

background-image: repeating-linear-gradient(red, yellow);

默认情况下,跟linear-gradient(red, yellow)效果一样,我们稍作改动

background-image: repeating-linear-gradient(red 0px, yellow 50px);

由于我们设置的div宽高为200px,所以会有4次重复的渐变效果

所以默认情况下,下列几种写法是一致的,效果相同

background-image: linear-gradient(red, yellow);
background-image: repeating-linear-gradient(red, yellow);
/* 因为我们设置的div盒子的宽高为200px,所以这里[height]=200px */
background-image: repeating-linear-gradient(red 0, yellow [height]);

27.2 径向渐变

radial-gradient() 径向渐变(放射性的效果)

background-image: radial-gradient(red, yellow);

默认情况下,径向渐变的形状根据元素的形状来计算的

  • 正方形 --> 圆形
  • 长方形 --> 椭圆形

默认情况下,circleellipse是自动适配盒子的,我们也可以手动指定径向渐变的形状

形状

  • circle 圆形

  • ellipse椭圆

background-image: radial-gradient(circle, red, yellow);

也可以指定渐变的位置

位置

  • top

  • right

  • left

  • center

  • bottom

background-image: radial-gradient(at left, red, yellow);

当然,除了上述值,还可以指定像素

大小

  • closest-side 近边

  • farthest-side 远边

  • closest-corner 近角

  • farthest-corner 远角

background-image: radial-gradient(100px 60px, red, yellow);

同时对其形状/大小和位置进行指定

radial-gradient(形状/大小 at 位置, 颜色 位置, 颜色 位置, 颜色 位置)

background-image: radial-gradient(circle at 50px 100px, red 50px, yellow 100px);

总结一下

形状

  • circle 圆形

  • ellipse椭圆

大小

  • closest-side 近边

  • farthest-side 远边

  • closest-corner 近角

  • farthest-corner 远角

位置

  • top

  • right

  • left

  • center

  • bottom

类似于线性渐变,径向渐变也有对应的repeat属性

background-image: repeating-radial-gradient(circle at 50px 100px, red 50px, yellow 100px);

总结:径向渐变的渐变方向以圆心为起点,往四周扩散的;同一半径上的颜色是渐变的,同一圆周上的颜色是一致的

15【背景 渐变色】相关推荐

  1. echarts5.0引入地图,背景渐变色,航线图,地图阴影

    效果图如下,文章末尾附全部代码:  参考: 1.航线图 Vue Echarts飞机航线图_Kinghiee的博客-CSDN博客 2.地图阴影 echarts中国地图实现阴影效果&自定义设置_K ...

  2. css3 实现背景渐变色与背景图片并存效果

    css3 实现背景渐变色与背景图片并存效果 先看效果 背景是渐变色+浅色透明图案组成,UI没有完全切成一张图,刚好试试看能不能使用 背景渐变+图片的效果. 对兼容性要求高的不要这样做,直接叫UI切合成 ...

  3. android自定义渐变色,Android设置背景渐变色

    效果如图,本章只谈背景渐变色,仪表盘下一篇文章 实现步骤,只需两步: 1.在res/drawable中新建一个gradual_color_bg.xml 内容如下: android:startColor ...

  4. 百度SEO网页背景渐变色代码

    很漂亮网页背景渐变色代码,背景颜色不断变换,用来做网站背景还是挺不错的 下载地址: http://www.bytepan.com/77DYghsNOdA

  5. UIView设置背景渐变色

    UIView设置背景渐变色 // Allocate bitmap context CGContextRef bitmapContext = CGBitmapContextCreate(NULL, 32 ...

  6. html设置body渐变色,css-body背景渐变色的CSS

    css-body背景渐变色的CSS 一.从上往下渐变 body{ FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,s ...

  7. android设置背景颜色渐变,Android背景渐变色(shape,gradient)

    Android设置背景色可以通过在res/drawable里定义一个xml,如下: android:startColor="#FFF" android:endColor=" ...

  8. vue中动态设置背景渐变色

    vue中动态设置背景渐变色 1.效果展示 2.核心(动态更换单一的背景颜色也可以使用) <div class="ss" v-bind:style="{ backgr ...

  9. echarts 设置地图外边框、地图背景渐变色和地图阴影,增加立体感以及在地图上打点

    一.设置地图外边框 给地图添加外边框,同时地图中的区域添加细一点的边框.效果图如下: 这里涉及两种边框 ,分别在  geo 和 series 种设置 .主要代码如下: option = {backgr ...

最新文章

  1. 想搞自动识别系统的应用程序,希望能跟有志于此的朋友交流
  2. ubuntu12.0.4不能正常关机和重启的解决方法
  3. php面向对象面试题
  4. 现代谱估计:Blackman-Tukey 相关图
  5. 后续升级鸿蒙系统,荣耀部分机型后续将支持升级为鸿蒙系统
  6. Hadoop-2.7.3-本地模式安装-wordcount例子
  7. 【SPOJ-SUBLEX】Lexicographical Substring Search(字典序第k小的子串(不重复统计同一个子串)---后缀自动机)
  8. Perl语言入门(第六版)pdf
  9. 细等线体cass_CASS打开图形出现字体替换怎么解决?
  10. R语言——基础知识呕心沥血大汇总
  11. Vue中的filter过滤器是使用方法
  12. 数据导入与预处理-第8章-实战演练-数据分析师岗位分析
  13. 留学回国人员申办上海常住户口实施细则
  14. 什么是“理解”?如何在人工智能中定义“理解”?(what is understanding ?)
  15. 新手学习电脑知识的一些方法 oldtimeblog
  16. tableview的详解
  17. 读写csv,xlsx文件的工具类
  18. EF实现考勤管理---(MVC,签到签退)
  19. 整理几个国内外常用的广告联盟给大家参考
  20. 键盘与ASCII码对应表

热门文章

  1. opencv焦距估计函数cvInitIntrinsicParams2D原理解析
  2. Android开发界面显示慢-过度绘制优化
  3. 如何秒懂 - 物理像素、CSS 像素、CSS 参考像素、设备独立像素?
  4. Java程序员跳槽面试失败的5个原因
  5. 互联网计算机DFINITY技术概述,ICP是如何工作的?真的太强大了!
  6. SDK:BUMO JAVA SDK
  7. 磁盘符上有个锁的标志,bitlocker恢复密钥 解决办法
  8. 鬼谷八荒功法词条修改器
  9. lisp绘制直齿圆柱齿轮_autolisp齿轮绘制
  10. 中学生作文指导杂志中学生作文指导杂志社中学生作文指导编辑部2022年第18期目录