《图解CSS》背景

简介: CSS的背景可以为元素添加背景颜色(background-color)和背景图片(backgroud-image), CSS3也提供了背景使用多张图片和渐变色的功能。

CSS的背景可以为元素添加背景颜色(background-color)和背景图片(backgroud-image), CSS3也提供了背景使用多张图片和渐变色的功能。

#### CSS背景属性

* background-color:设置元素的背景颜色。

* background-image:把图像设置为背景。

* background-repeat:设置背景图像是否及如何重复。

* backgroud-position:设置背景图像的起始位置。

* background-size:设置背景图片大小。

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

* background:(简写属性)作用是将背景属性设置在一个声明中。

* background-clip, background-origin,background-break(目前尚未得到广泛支持)

![](https://upload-images.jianshu.io/upload_images/2789632-cbf39f375252d2d3.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

更多可参考MSDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Reference

#### 背景颜色

语法:

```css

div{background-color:'red'}

div{background-color:rgb(255,0,0)}

div{background-color:rgba(255,0,0,0.5)}

```

至于颜色的的可选值可以参看《CSS简介》颜色值一节。

示例:

![](https://upload-images.jianshu.io/upload_images/2789632-a58a755f2041e88d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#### 背景图片

语法:

```css

background-image:url('url');

```

示例:

background-image:url('https://www.baidu.com/img/flexible/logo/pc/result.png');

![](https://upload-images.jianshu.io/upload_images/2789632-68222d8522a7d960.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

从示例中可以看出,默认是水平垂直重复,那么如何控制背景重复呢?

#### 背景重复

语法:

```css

background-repeat:no-repeat;

background-repeat-x:no-repeat;

background-repeat-y:no-repeat;

```

示例:

![](https://upload-images.jianshu.io/upload_images/2789632-aa67f9877b15ec92.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#### 背景位置

除此之外,还可以设置背景的起始位置。

语法:

```css

background-position:position;

```

background-position 属性有5个关键字值,分别是top 、 left 、 bottom 、 right 和 center,这些关键字中的任意两个组合起来都可以作为该属性的值。

![](https://upload-images.jianshu.io/upload_images/2789632-af110a17eee0160b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#### 背景尺寸

语法:

```css

background-size:50%;

background-size:100px 50px; // 宽100,高50

background-size:cover; // 拉大图片,完全填满,保持宽高比

background-size:contain; // 缩放图片,使其恰好适合背景区,保持宽高比

```

示例:

![](https://upload-images.jianshu.io/upload_images/2789632-29127d6ee32a396e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#### 背景粘附

background-attachment 属性控制滚动元素内的背景图片是否随元素滚动而移动。这个属性的默认值是scroll ,即背景图片随元素移动。如果把它的值改为 fixed ,那么背景图片不会随元素滚动而移动。

示例:

![](https://upload-images.jianshu.io/upload_images/2789632-4571957b6fdb13cd.gif?imageMogr2/auto-orient/strip)

#### 背景简写

background 简写属性在一个声明中设置所有的背景属性。

可以设置如下属性:

* background-color

* background-position

* background-size

* background-repeat

* background-origin

* background-clip

* background-attachment

* background-image

示例:

```css

background:url('https://www.baidu.com/img/flexible/logo/pc/result.png') no-repeat center ;

```

#### 多背景图片

语法:

```css

background:

url('') no-repeat 10px 0px...,

url('') no-repeat 10px 60px...,

url('') no-repeat 10px 120px...;

```

![](https://upload-images.jianshu.io/upload_images/2789632-eef6d0344554102c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#### 背景渐变

渐变分两种,一种线性渐变,一种放射性渐变。线性渐变从元素的一端延伸到另一

端,放射性渐变则从元素内一点向四周发散。

###### 线性渐变语法:

```css

/* 渐变轴为45度,从蓝色渐变到红色 */

linear-gradient(45deg, blue, red);

/* 从右下到左上、从蓝色渐变到红色 */

linear-gradient(to left top, blue, red);

/* 从下到上,从蓝色开始渐变、到高度40%位置是绿色渐变开始、最后以红色结束 */

linear-gradient(0deg, blue, green 40%, red);

```

![](https://upload-images.jianshu.io/upload_images/2789632-6e863c862caf2280.gif?imageMogr2/auto-orient/strip)

更多可参考:https://developer.mozilla.org/zh-CN/docs/Web/CSS/linear-gradient()

###### 放射性渐变语法:

```css

background: radial-gradient(#e66465, #9198e5);

background: radial-gradient(closest-side, #3f87a6, #ebf8e1, #f69d3c);

background: radial-gradient(circle at 100%, #333, #333 50%, #eee 75%, #333 75%);

background: radial-gradient(ellipse at top, #e66465, transparent),

           radial-gradient(ellipse at bottom, #4d9f0c, transparent);

```

![](https://upload-images.jianshu.io/upload_images/2789632-fa7f3a8d4e277e6a.gif?imageMogr2/auto-orient/strip)

更多可参考:https://developer.mozilla.org/en-US/docs/Web/CSS/radial-gradient()

#### 其他属性

* background-clip 。控制背景绘制区域的范围,比如可以让背景颜色和背景图片只出现在内容区,而不出现在内边距区域。默认情况下,背景绘制区域是扩展到边框外边界的。

* background-origin 。控制背景定位区域的原点,可以设定为元素盒子左上角以外的位置。比如,可以设定以内容区左上角作为原点。

* background-break 。 控制分离元素(比如跨越多行的行内盒子)的显示效果。

目录
相关文章
|
4月前
|
前端开发 JavaScript
Vue中使用纯CSS实现全屏网格加渐变色背景布局
Vue中使用纯CSS实现全屏网格加渐变色背景布局
94 0
|
8月前
|
Web App开发 前端开发 容器
CSS进阶: 选择器进阶、背景相关属性、元素显示模式、CSS特性
CSS进阶: 选择器进阶、背景相关属性、元素显示模式、CSS特性
109 1
|
11天前
|
前端开发
CSS背景
【5月更文挑战第3天】CSS背景。
24 8
|
14天前
|
前端开发 UED
【专栏:CSS基础篇】CSS背景与边框:设计网页外观
【4月更文挑战第30天】CSS中的背景和边框是网页设计的关键元素,能增强视觉层次和用户体验。背景可通过`background-color`设置颜色,`background-image`添加图像,`background-position`和`background-size`调整位置和大小。边框用`border-style`定义样式,`border-width`设定宽度,`border-radius`创建圆角。理解并巧妙运用这些属性,结合媒体查询实现响应式设计,将使网页更具吸引力和功能性。不断学习和创新是提升设计能力的关键。
|
15天前
|
前端开发
css样式字体、文本、背景属性,盒子模型详解,轻松调教出优美的字体和网页背景色
css样式字体、文本、背景属性,盒子模型详解,轻松调教出优美的字体和网页背景色
|
28天前
|
前端开发
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果(下)
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
72 1
|
28天前
|
前端开发 容器
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果(上)
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
41 1
|
29天前
|
前端开发 容器
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)
30 2
|
2月前
|
前端开发 容器
CSS背景background八种属性
CSS背景background八种属性