CSS 背景

200 阅读4分钟

CSS 背景

CSS 背景属性用于定义HTML元素的背景。

CSS 属性定义背景效果:

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position

背景颜色

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

页面的背景颜色使用在body的选择器中:

实例

body {background-color:#b0c4de;}

CSS中,颜色值通常以以下方式定义:

  • 十六进制 - 如:"#ff0000"
  • RGB - 如:"rgb(255,0,0)"
  • 颜色名称 - 如:"red"

以下实例中, h1, p, 和 div 元素拥有不同的背景颜色:

实例

h1 {background-color:#6495ed;}
p {background-color:#e0ffff;}
div {background-color:#b0c4de;}


背景图像

background-image 属性描述了元素的背景图像.

默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体.

页面背景图片设置实例:

实例

body {background-image:url('paper.gif');}

下面是一个例子是一个糟糕的文字和背景图像组合。文本可读性差:

实例

body {background-image:url('bgdesert.jpg');}

image.png


背景图像 - 水平或垂直平铺

默认情况下 background-image 属性会在页面的水平或者垂直方向平铺。

一些图像如果在水平方向与垂直方向平铺,这样看起来很不协调,如下所示: 

实例

body
{
background-image:url('gradient2.png');
}

image.png 如果图像只在水平方向平铺 (repeat-x), 页面背景会更好些:

实例

body
{
background-image:url('gradient2.png');
background-repeat:repeat-x;
}

image.png


背景图像- 设置定位与不平铺

Remark 让背景图像不影响文本的排版

如果你不想让图像平铺,你可以使用 background-repeat 属性:

实例

body
{
background-image:url('img_tree.png');
background-repeat:no-repeat;
}

image.png

以上实例中,背景图像与文本显示在同一个位置,为了让页面排版更加合理,不影响文本的阅读,我们可以改变图像的位置。

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

实例

body
{
background-image:url('img_tree.png');
background-repeat:no-repeat;
background-position:right top;
}

image.png


背景- 简写属性

在以上实例中我们可以看到页面的背景颜色通过了很多的属性来控制。

为了简化这些属性的代码,我们可以将这些属性合并在同一个属性中.

背景颜色的简写属性为 "background":

实例

body {background:#ffffff url('img_tree.png') no-repeat right top;}

image.png 当使用简写属性时,属性值的顺序为::

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position

以上属性无需全部使用,你可以按照页面的实际需要使用.

CSS background-attachment 属性

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title></title>
<style>
body 
{
background-image:url('https://static.runoob.com/images/mix/smiley.gif');
background-repeat:no-repeat;
background-attachment:fixed;
}
</style>
</head>

<body>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
<p>背景图片是固定的。尝试向下滚动页面。</p>
</body>

</html>

image.png

标签定义及使用说明

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

默认值:scroll
继承:no
版本:CSS1
JavaScript 语法:object object.style.backgroundAttachment="fixed"

浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号。

image.png

注意: Internet Explorer 8 及其更早版本的浏览器不支持多个背景图像在一个元素。


属性值

描述
scroll背景图片随着页面的滚动而滚动,这是默认的。
fixed背景图片不会随着页面的滚动而滚动。
local背景图片会随着元素内容的滚动而滚动。
initial设置该属性的默认值。
inherit指定 background-attachment 的设置应该从父元素继承。 

CSS 背景属性

Property描述
[background]简写属性,作用是将背景属性设置在一个声明中。
[background-attachment]背景图像是否固定或者随着页面的其余部分滚动。
[background-color]设置元素的背景颜色。
[background-image]把图像设置为背景。
[background-position]设置背景图像的起始位置。
[background-repeat]设置背景图像是否及如何重复。