CSS背景处理

背景样式

背景颜色


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

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

span{ color: white;
}

</style>
<title>Document</title>
</head>
<body>

<span>来看看我的背景色吧!</span>

</body>
</html>

背景颜色

背景图片


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

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

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

div{
background-image: url("./33.jpg");
color: green;
font-weight: 700;
height: 200px;
width: 200px;
text-align: center;
line-height: 200px;
border: solid 1px red;
padding: 20px;
} ​
</style>
<title>Document</title>
</head>
<body>

<div>来看看我的背景图片吧~</div>

</body>
</html>

背景图片

背景剪裁


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

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

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

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

div{
background-image: url("./33.jpg");
color: green;
font-weight: 700;
height: 200px;
width: 200px;
text-align: center;
line-height: 200px;
border: solid 1px red;
padding: 20px;
/* 背景图片为content区域 */
background-clip: content-box;
} ​
</style>
<title>Document</title>
</head>
<body>

<div>来看看我的背景图片吧~</div>

</body>
</html>

背景剪裁

背景重复


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

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

  不指定,默认repea

  指定为no-repeat

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

div{
background-image: url("./33.jpg");
color: green;
font-weight: 700;
height: 500px;
width: 500px;
text-align: center;
line-height: 200px;
border: solid 1px red;
/* 不重复产生图片 */
background-repeat: no-repeat;
} ​
</style>
<title>Document</title>
</head>
<body>

<div></div>

</body>
</html>

取消背景重复

背景滚动


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

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

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

main{
/* 主容器要小于子容器才会出现滚动条 */
overflow: auto;
border: solid 1px red;
height: 200px;
width: 400px;
}
div{
background-image: url("./33.jpg");
height: 300px;
width: 300px;
/* 不重复产生图片 */
background-repeat: no-repeat;
/* 子容器背景图固定 */
background-attachment: fixed;
} ​
</style>
<title>Document</title>
</head>
<body>
<main>
<div>文本在此</div>
</main>


</body>
</html>

背景固定

背景位置


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

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

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

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

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

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

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

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

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

div{
background-image: url("./33.jpg");
height: 500px;
width: 500px;
border: solid 1px red;
/* 不重复产生图片 */
background-repeat: no-repeat;
/* 水平居左,垂直居中 */
background-position:0% 50%;
} ​
</style>
<title>Document</title>
</head>
<body>

<div></div>

</body>
</html>

背景位置

背景尺寸


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

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

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

  指定数值定义宽高尺寸

background-size: 50% 100%;

background-size: 200px 200px;

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

background-size: 50% auto;

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

div{
background-image: url("./33.jpg");
height: 200px;
width: 200px;
border: solid 1px red;
background-repeat: no-repeat;
/* 水平居左,垂直居中 */
background-position:0% 50%;
/* 背景自动铺满整个盒子 */
background-size:cover;
} ​
</style>
<title>Document</title>
</head>
<body>

<div></div>

</body>
</html>

背景尺寸

简写


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

  推荐顺序:颜色,地址,是否重复,背景位置或是否跟随滚动

  如:

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

多个背景


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

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

背景阴影

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

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>

div{
height: 100px;
width: 100px;
border: solid 1px #ddd;
box-shadow: 10px 10px 5px rgba(100, 100, 100, .5);
} ​
</style>
<title>Document</title>
</head>
<body>

<div></div>

</body>
</html>

背景阴影

颜色渐变

线性渐变


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

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

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

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

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

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

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

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

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

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

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

径向渐变


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

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

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

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

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

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

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

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

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

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

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

标识位


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

  未设置标识位:

  单方设置了标识位:

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

  双方设置了标识位:

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

  使用径向标识位绘制太阳

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style> div{
height: 300px;
width: 300px;
border: solid 1px #ddd;
background: radial-gradient(red 10%,yellow 30%,black 70%)
} </style>
<title>Document</title>
</head>
<body> <div></div> </body>
</html>

径像渐变绘制小太阳

中间点阈值


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

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

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

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

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

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

线性渐变重复


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

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

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

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

径向渐变重复


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

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

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

CSS背景处理的更多相关文章

  1. CSS背景background、background-position使用详解

    背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一.这篇文章将会涉及css背景(background)的基本用法,包括诸如 background-attachm ...

  2. 你不知道的CSS背景—css背景属性全解

    CSS背景在网页设计中使用频率非常高,然而对于这个开发人员很熟悉的CSS属性,却隐藏着许多不为初级开发人员熟知的细节,这篇文章尝试扒开这层不为人知的面纱. 首先列举一下CSS中关于元素背景的所有属性并 ...

  3. CSS背景background详解,background-position详解

    背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一.这篇文章将会涉及css背景(background)的基本用法,包括诸如 background-attachm ...

  4. CSS背景100%平铺 浏览器缩小背景显示不全解决办法

    本文我们分享前端CSS背景100%平铺,浏览器缩小背景显示不全bug解决的两个方法,如果你也遇到了,那么就可以参考下面文章. 把浏览器的窗口缩小时,拖动滚动条时你会发现原本设定的CSS背景100%平铺 ...

  5. Bootstrap css背景图片的设置

    一. 网页中添加图片的方式有两种 一种是:通过<img>标签直接插入到html中 另一种是:通过css背景属性添加 居中方法:水平居中的text-align:center 和 margin ...

  6. CSS背景样式

    CSS是级联样式表,用来表现HTML等文件样式的语言,CSS能够真正做到网页的表现与内容分离的设计语言,也就是说,做好了一款网页,可以通过另一个后缀名是css的文件进行修改其中的样式,不过在html的 ...

  7. CSS背景图拉伸自适应尺寸,全浏览器兼容

    突然有人问我这个问题,说网上CSS filter的方法在非IE浏览器下不奏效.思考之后,问题之外让我感慨万千啊,很多我们所谓的难题,都会随着时代的发展迎刃而解,或被新的问题所取代. 当CSS背景图片拉 ...

  8. css背景图片拉伸 以及100% 满屏显示

    如何用css背景图片拉伸 以及100% 满屏显示呢?这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在 ...

  9. CSS 背景-CSS background

    这里有个很好的样式学习网站:http://www.divcss5.com/rumen/r125.shtml 一.Css background背景语法   -   TOP CSS背景基础知识 CSS 背 ...

  10. CSS背景属性

    CSS背景属性 1.background-attachment 属性 scroll:默认值.背景图像会随着页面其余部分的滚动而移动. fixed:当页面的其余部分滚动时,背景图像不会移动. inher ...

随机推荐

  1. Shiro反序列化复现

    Shiro反序列化复现 ——————环境准备—————— 目标靶机:10.11.10.108 //docker环境 攻击机ip:无所谓 vpsip:192.168.14.222 //和靶机ip可通 1 ...

  2. Mac下安装octave

    1.首先安装Command Line Tool xcode-select --install2.Mac OSX平台下,用神器Homebrew安装 curl -LsSf http://github.co ...

  3. 一文搞懂GitLab安装部署及服务配置

    GitLab安装部署 Git,GitHub,GitLab,这三个东东长得好像呀,都是个啥? Git是Linus Torvalds(如果不知道这位大神是谁,请出门左转,慢走不送~)为了帮助管理Linux ...

  4. 我们是如何做go语言系统测试覆盖率收集的?

    工程效能领域,测试覆盖率度量总是绕不开的话题,我们也不例外.在七牛云,我们主要使用go语言构建云服务,在考虑系统测试覆盖率时,最早也是通过围绕原生go test -c -cover的能力来构建.这个方 ...

  5. NodeJs将异步方法改为同步以上传文件为例

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 下面这个例子既写 ...

  6. Linux Systemd 详细介绍: Unit、Unit File、Systemctl、Target

    Systemd 简介 CentOS 7 使用 Systemd 替换了SysV Ubuntu 从 15.04 开始使用 Systemd Systemd 是 Linux 系统工具,用来启动守护进程,已成为 ...

  7. 韩顺刚-tcp报文头协议详细分析第一包数据:序号是0,发送数据的长度是0,因为没有收到对端的数据,所以确认号是0, Syn的标志位设置成1,这里没有发送的数据,只发送TCP的20个字节的头部

    TCP报文段首部格式 大部分TCP报文头部都是20个字节,有的数据包要加上选项. 上面一行代表4个字节,源端口和目的端口都是2个字节. TCP协议是面向字节流的协议 TCP是一段一段分块的发送数据的 ...

  8. JavaWeb网上图书商城完整项目--过滤器解决中文乱码

    我们知道,如果是POST请求,我们需要调用request.setCharacterEncoding(“utf-8”)方法来设计编码:如果是GET请求,我们需要自己手动来处理编码问题.如果我们使用了En ...

  9. 使用docker创建redis容器

    1.拉取redis镜像

  10. Docker入门——理解Docker的核心概念

    1 前言 相信不少人听过这么一句话: 人类的本质是复读机. 在软件开发领域也一样,我们总是想寻找更好地方式复制优秀的逻辑或系统.最核心的方法是抽取通用逻辑和组件,把差异化的东西接口化或配置化,达到复用 ...