前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端基础-CSS背景属性

前端基础-CSS背景属性

作者头像
cwl_java
发布2020-04-07 15:19:25
1.1K0
发布2020-04-07 15:19:25
举报
文章被收录于专栏:cwl_Javacwl_Java

背景属性

a) 背景颜色

语法:background-color:颜色值

示意图

在这里插入图片描述
在这里插入图片描述

b) 背景图片

语法:background-image:url(图片路径)

示意图

在这里插入图片描述
在这里插入图片描述

c) 设置背景图片是否平铺

语法:background-repeat:值

取值:no-repeat不平铺,repeat-x横向平铺,repeat-y纵向平铺,repeat横向纵向都平铺------默认

示意图

在这里插入图片描述
在这里插入图片描述

d) 设置背景图片位置

语法:background-position:水平位置,垂直位置

位置的取值可以为像素(相对左上角定点的位置),也可以为关键字:top left bottom right center

示意图

在这里插入图片描述
在这里插入图片描述

多学一招:

1.还可以使用百分比,不太常用:位置的固定规则为盒子自身的宽高百分比减去图片的宽高百分比,如下图:

示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e83lE2oV-1585552032704)(img/背景定位的百分比.png)]

2.在使用位置关键字的时候,关键字的前后顺序对结果不产生影响

3.可以只有一个值,代表水平方向和垂直方向都是这个值 ----此规则适用于关键字center,和百分比以及具体的像素

4.当只有一个值,且值为上下左右关键字时,上下左右只能代表x轴或y轴之一,另一个方向默认为center

e) 设置背景图片大小

语法:background-size:宽度 高度

宽高取值可以是像素也可以是百分比

示意图

在这里插入图片描述
在这里插入图片描述

f) 综合使用

语法:background:颜色 url(图片路径) 平铺类型 位置/大小

示意图

在这里插入图片描述
在这里插入图片描述

多学一招:属性中的每个值顺序可以调整,且background可以为单独其中之一设置

g) 设置背景是否受滚动条的影响

语法:background-attachment:值

取值:

​ (1)scroll会受滚动条的影响,当内容滚动到下方,图片会消失----默认

​ (2)fixed不会受滚动条影响,一直保持在视线范围内

示意图

在这里插入图片描述
在这里插入图片描述

背景可以设置为透明

代码语言:javascript
复制
background:rgba();  /* a代表透明度,取值为0-1 */

背景和图片标签都可以让页面中显示图片,那有什么区别?

img和背景图片的区别: img不需要专门写宽高就能够显示在页面上 而背景图片默认是撑不开容器的 需要专门写宽高 一般产品插入图都推荐使用img 而一些小的icon 或者很少更新的图片 再或者超大的图片推荐使用背景图 而且背景图可以让内部的文字盖在上面,但是img不行(除非后期用定位)

h) 背景颜色渐变

①线性渐变

语法:

代码语言:javascript
复制
<linear-gradient>:linear-gradient([ <point>,]? <color-stop>[, <color-stop>]+);
<point>:[ left | right ]? [ top | bottom ]? || <angle>?
<color-stop>:<color> [ <length> | <percentage> ]?

取值:

代码语言:javascript
复制
<point>
    left: 设置左边为渐变起点的横坐标值。 
    right: 设置右边为渐变起点的横坐标值。 
    top: 设置顶部为渐变起点的纵坐标值。 
    bottom: 设置底部为渐变起点的纵坐标值。 
	<angle>: 用角度值指定渐变的方向(或角度),单位deg。 
<color-stop>: 指定渐变的起止颜色。 <color-stop>
    <color>: 指定颜色。请参阅颜色值 
    <length>: 用长度值指定起止色位置。不允许负值 
    <percentage>: 用百分比指定起止色位置。 
写法一:

代码:

代码语言:javascript
复制
<div></div>
<style type="text/css">
    div{
        width:300px;
        height:200px;
        background:linear-gradient(red,black); 
        /* 表示颜色从上往下,从红色到绿色转换,各占50%(默认) */
    }
</style>

效果图

在这里插入图片描述
在这里插入图片描述
写法二:

代码

代码语言:javascript
复制
<div></div>
<style type="text/css">
    div{
        width:300px;
        height:200px;
        background:linear-gradient(to right,red,black); 
        /* 表示颜色的渐变方向(也是九宫格) */
    }
</style>

效果图

1553157867263
1553157867263
写法三:

代码

代码语言:javascript
复制
<div></div>
<style type="text/css">
    div{
        width:300px;
        height:200px;
        background:linear-gradient(45deg,red,black); 
        /* 表示中间的水平线顺时针旋转10度开始渐变 */
    }
</style>

效果图

在这里插入图片描述
在这里插入图片描述

角度示意图

在这里插入图片描述
在这里插入图片描述
写法四:

代码

代码语言:javascript
复制
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:linear-gradient(red 20%,black 50%,pink); 
		/* 表示颜色渐变所占的百分比 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述
写法五:

代码

代码语言:javascript
复制
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:linear-gradient(to top right,red 20%,black 30%,pink); 
		/* 复合写法,表示颜色从左下角往右上角,从红色开始渐变到20%,再由黑色从20%渐变到30%,剩下的都是粉色 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

颜色渐变方向有:to bottom、to top、to left、to right、to top right、to top left、to bottom left、to bottom right【其实就是一个四边形的四条边与四个角】

②径向渐变

语法:

代码语言:javascript
复制
<radial-gradient>:radial-gradient([ <position>,]? [ [ <shape> || <size> ] | <shape-size>{2},]? <color-stop>[, <color-stop>]+);
<position>:[ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?
<shape>:circle | ellipse
<size>:closest-side | closest-corner | farthest-side | farthest-corner | contain | cover
<shape-size>:<length> | <percentage> 
<color-stop>:<color> [ <length> | <percentage> ]?

取值:

代码语言:javascript
复制
<position>
	<percentage>①: 用百分比指定径向渐变圆心的横坐标值。可以为负值。 
	<length>①: 用长度值指定径向渐变圆心的横坐标值。可以为负值。 
    left: 设置左边为径向渐变圆心的横坐标值。 
    center①: 设置中间为径向渐变圆心的横坐标值。 
    right: 设置右边为径向渐变圆心的横坐标值。 
    <percentage>②: 用百分比指定径向渐变圆心的纵坐标值。可以为负值。 
    <length>②: 用长度值指定径向渐变圆心的纵坐标值。可以为负值。 
    top: 设置顶部为径向渐变圆心的纵坐标值。 
    center②: 设置中间为径向渐变圆心的纵坐标值。 
    bottom: 设置底部为径向渐变圆心的纵坐标值。 
<color-stop>: 指定渐变的起止颜色。 
<shape>
    circle: 指定圆形的径向渐变 
    ellipse: 指定椭圆形的径向渐变。写本文档时Chrome,Safari尚不支持该参数值 <size>
    closest-side: 指定径向渐变的半径长度为从圆心到离圆心最近的边 
    closest-corner: 指定径向渐变的半径长度为从圆心到离圆心最近的角 
    farthest-side: 指定径向渐变的半径长度为从圆心到离圆心最远的边 
    farthest-corner: 指定径向渐变的半径长度为从圆心到离圆心最远的角 
    contain: 包含,指定径向渐变的半径长度为从圆心到离圆心最近的点。类同于closest-side 
    cover: 覆盖,指定径向渐变的半径长度为从圆心到离圆心最远的点。类同于farthest-corner <shape-size>
    写本文档时Firefox尚不支持<shape-size> <percentage>: 用百分比指定径向渐变的横向或纵向直径长度,并根据横向和纵向的直径来确定是圆或椭圆。不允许负值。 
    <length>: 用长度值指定径向渐变的横向或纵向直径长度,并根据横向和纵向的直径来确定是圆或椭圆。不允许负值。 <color-stop>
    <color>: 指定颜色。请参阅颜色值 
    <length>: 用长度值指定起止色位置。不允许负值 
    <percentage>: 用百分比指定起止色位置。
写法一:

代码

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:radial-gradient(orange,black);
		/* 从中心点向四周扩散渐变 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

多学一招:div如果是正方形,扩散的形状会是圆形

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:200px;
		height:200px;
		background:radial-gradient(orange,black);
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述
写法二:

代码

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:200px;
		height:200px;
		background:radial-gradient(orange 20%,black 30%,red 70%);
        /* 代表颜色扩散到哪个位置停止渐变 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

多学一招:除了使用百分比还可以使用具体像素设置停止渐变的位置

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:200px;
		height:200px;
		background:radial-gradient(orange 50px,black 30%,red 70%);
		/* 橘色区域半径50px */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

因为50像素已经超过30%,所以橘色部分没有渐变(试试橘色和黑色都是30%)

写法三:

代码:

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:radial-gradient(circle,orange 10%,black 50%);
		/* 指定渐变的形状 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

注意:指定形状的时候可以是circle圆形,也可以是ellipse椭圆

写法四:

代码:

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:radial-gradient(circle 100px,orange 10%,black 50%);
		/* 指定渐变的区域大小,因为是圆形,所以代表宽100px高也是100px */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

注意:如果指定的**形状圆形**,那么指定区域大小的时候只需要一个值就好,可要是椭圆形的时候需要两个值,因为椭圆的宽和高不一样,否则直接不能显示页面

代码语言:javascript
复制
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:radial-gradient(ellipse 200px 100px,orange 10%,black 50%);
		/* 指定椭圆形的区域大小需要两个值一个宽一个高 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述
写法五:

代码:

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:radial-gradient(ellipse 200px 100px at right bottom,orange 10%,black 50%);
		/* 指定径向渐变的圆心 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

多学一招:圆心默认在中心,或者使用关键字center

③重复线性渐变

语法:

代码语言:javascript
复制
repeating-linear-gradient(方向,颜色 结束百分比,...);

例:

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:repeating-linear-gradient(to right bottom,red 10%,green 20%);
		/* 渐变方向为右下角,指定每种颜色的结束位置,重复渐变 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述
④重复径向渐变

语法:

代码语言:javascript
复制
repeating-radial-gradient(形状 方向,颜色 结束百分比,...;

例:

代码语言:javascript
复制
<div></div>
<style type="text/css">
	div{
		width:300px;
		height:200px;
		background:repeating-radial-gradient(ellipse at center,red 10%,green 20%);
		/* 渐变形状为椭圆,渐变中心为中心,指定每种颜色的结束位置,重复渐变 */
	}
</style>

效果图

在这里插入图片描述
在这里插入图片描述

注意:未指定颜色值的结束位置时,颜色是平均分配的

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景属性
    • a) 背景颜色
      • b) 背景图片
        • c) 设置背景图片是否平铺
          • d) 设置背景图片位置
            • e) 设置背景图片大小
              • f) 综合使用
                • g) 设置背景是否受滚动条的影响
                  • h) 背景颜色渐变
                    • ①线性渐变
                    • ②径向渐变
                    • ③重复线性渐变
                    • ④重复径向渐变
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档