css-background

CSS 允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果。

CSS 在这方面的能力远远在 HTML 之上。

背景色

可以使用 background-color 属性为元素设置背景色。这个属性接受任何合法的颜色值。

这条规则把元素的背景设置为灰色:

p {background-color: gray;}

如果您希望背景色从元素中的文本向外少有延伸,只需增加一些内边距:

p {background-color: gray; padding: 20px;}

可以为所有元素设置背景色,这包括 body 一直到 em 和 a 等行内元素。

background-color 不能继承,其默认值是 transparent。transparent 有“透明”之意。也就是说,如果一个元素没有指定背景色,那么背景就是透明的,这样其祖先元素的背景才能可见。

背景图像

要把图像放入背景,需要使用 background-image 属性。background-image 属性的默认值是 none,表示背景上没有放置任何图像。

如果需要设置一个背景图像,必须为这个属性设置一个 URL 值:

body {background-image: url(/i/eg_bg_04.gif);}

大多数背景都应用到 body 元素,不过并不仅限于此。

下面例子为一个段落应用了一个背景,而不会对文档的其他部分应用背景:

p.flower {background-image: url(/i/eg_bg_03.gif);}

您甚至可以为行内元素设置背景图像,下面的例子为一个链接设置了背景图像:

a.radio {background-image: url(/i/eg_bg_07.gif);}

理论上讲,甚至可以向 textareas 和 select 等替换元素的背景应用图像,不过并不是所有用户代理都能很好地处理这种情况。

另外还要补充一点,background-image 也不能继承。事实上,所有背景属性都不能继承。

背景重复

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

属性值 repeat 导致图像在水平垂直方向上都平铺,就像以往背景图像的通常做法一样。repeat-x 和 repeat-y 分别导致图像只在水平或垂直方向上重复,no-repeat 则不允许图像在任何方向上平铺。

默认地,背景图像将从一个元素的左上角开始。请看下面的例子:

body
  {
  background-image: url(/i/eg_bg_03.gif);
  background-repeat: repeat-y;
  }

如需查看上例的效果,可以亲自试一试

背景定位

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

下面的例子在 body 元素中将一个背景图像居中放置:

body
  {
    background-image:url(‘/i/eg_bg_03.gif‘);
    background-repeat:no-repeat;
    background-position:center;
  }

为 background-position 属性提供值有很多方法。首先,可以使用一些关键字:top、bottom、left、right 和 center。通常,这些关键字会成对出现,不过也不总是这样。还可以使用长度值,如 100px 或 5cm,最后也可以使用百分数值。不同类型的值对于背景图像的放置稍有差异。

关键字

图像放置关键字最容易理解,其作用如其名称所表明的。例如,top right 使图像放置在元素内边距区的右上角。

根据规范,位置关键字可以按任何顺序出现,只要保证不超过两个关键字 - 一个对应水平方向,另一个对应垂直方向。

如果只出现一个关键字,则认为另一个关键字是 center。

所以,如果希望每个段落的中部上方出现一个图像,只需声明如下:

p
  {
    background-image:url(‘bgimg.gif‘);
    background-repeat:no-repeat;
    background-position:top;
  }

下面是等价的位置关键字:

单一关键字 等价的关键字
center center center
top top center 或 center top
bottom bottom center 或 center bottom
right right center 或 center right
left left center 或 center left

百分数值

百分数值的表现方式更为复杂。假设你希望用百分数值将图像在其元素中居中,这很容易:

body
  {
    background-image:url(‘/i/eg_bg_03.gif‘);
    background-repeat:no-repeat;
    background-position:50% 50%;
  }

这会导致图像适当放置,其中心与其元素的中心对齐。换句话说,百分数值同时应用于元素和图像。也就是说,图像中描述为 50% 50% 的点(中心点)与元素中描述为 50% 50% 的点(中心点)对齐。

如果图像位于 0% 0%,其左上角将放在元素内边距区的左上角。如果图像位置是 100% 100%,会使图像的右下角放在右边距的右下角。

因此,如果你想把一个图像放在水平方向 2/3、垂直方向 1/3 处,可以这样声明:

body
  {
    background-image:url(‘/i/eg_bg_03.gif‘);
    background-repeat:no-repeat;
    background-position:66% 33%;
  }

如果只提供一个百分数值,所提供的这个值将用作水平值,垂直值将假设为 50%。这一点与关键字类似。

background-position 的默认值是 0% 0%,在功能上相当于 top left。这就解释了背景图像为什么总是从元素内边距区的左上角开始平铺,除非您设置了不同的位置值。

长度值

长度值解释的是元素内边距区左上角的偏移。偏移点是图像的左上角。

比如,如果设置值为 50px 100px,图像的左上角将在元素内边距区左上角向右 50 像素、向下 100 像素的位置上:

body
  {
    background-image:url(‘/i/eg_bg_03.gif‘);
    background-repeat:no-repeat;
    background-position:50px 100px;
  }

注意,这一点与百分数值不同,因为偏移只是从一个左上角到另一个左上角。也就是说,图像的左上角与 background-position 声明中的指定的点对齐。

背景关联

如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。

您可以通过 background-attachment 属性防止这种滚动。通过这个属性,可以声明图像相对于可视区是固定的(fixed),因此不会受到滚动的影响:

body
  {
  background-image:url(/i/eg_bg_02.gif);
  background-repeat:no-repeat;
  background-attachment:fixed
  }

background-attachment 属性的默认值是 scroll,也就是说,在默认的情况下,背景会随文档滚动。

转载于W3CSCHOOL

时间: 2024-08-03 03:23:10

css-background的相关文章

CSS 背景-CSS background

这里有个很好的样式学习网站:http://www.divcss5.com/rumen/r125.shtml 一.Css background背景语法   -   TOP CSS背景基础知识 CSS 背景这里指通过CSS对对象设置背景属性,如通过CSS设置背景各种样式. 背景语法: background: background-color || background-image || background-repeat || background-attachment || background-

HTML CSS——background的认识(一)

今天回归bug时无意间看到了样式表中background属性,现在总结一下: 1.background-color:设置元素的背景色.其值可以为:color-name.color-rgb.color-hex.transparent: 2.background-image:设置元素的背景图像.其值可以为:url(URL).none: 3.background-repeat:设置元素背景图像是否重复以及重复时的重复方式.其值可以为:repeat.repeat-x.repeat-y.no-repeat

CSS background 属性详解

CSS background Property 语法: background: bg-color bg-image position/bg-size bg-repeat bg-origin bg-clip bg-attachment initial|inherit; Note: If one of the properties in the shorthand declaration is the bg-size property, you must use a / (slash) to sep

CSS background 属性

一.background属性可以设置一个元素的背景样式,当然前提是这个元素有具体的宽高值. 先来一个简单的背景设置: 1 #show-box { 2 width: 800px; 3 height: 500px; 4 background: #000; 5 background-image: url(image url); 6 } 7 </style> 这里只是简单的设置了颜色和背景贴图. 下面让我们来看一下官方的background的属性: 语法格式: background: color po

CSS BACKGROUND汇总

1.    background-color 所有元素都能设置背景颜色. background-color的默认值是transparent:也就是说,如果一个元素没有指定背景颜色,那么背景就是透明的,这样其祖先元素的背景才能可见. 2.    background-image 所有元素都能设置背景图像: 背景图像可以设置多个,中间用逗号隔开:背景图像会层叠,写在前面的层次在上面. 3.    background-repeat repeat(默认)/no-repeat/repeat-x/ rep

(转)HTML&amp;CSS——background: url() no-repeat 0 -64px;CSS中背景图片定位方法

http://blog.csdn.net/oscar92420aaa/article/details/51304067 CSS中背景图片的定位,困扰我很久了.今天总算搞懂了,一定要记下来. 在CSS中,背景图片的定位方法有3种: 1)关键字:background-position: top left; 2)像素:background-position: 0px 0px; 3)百分比:background-position: 0% 0%; 上面这三句语句,都将图片定位在背景的左上角,表面上看效果是

css background 背景知识详解

background 背景属性 我们知道元素有前景色color,与之对应的还有背景色,通过background我们可以为元素添加实色(background-color)和任意多个背景图片(background-image). css 背景常见属性 background-color background-position background-size background-repeat background-origin background-clip background-attachment

css background属性了解

CSS 允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果. 纯色背景 背景图像 body{ background: #ff0000 url(/i/eg_bg_03.gif) no-repeat fixed center; }   1,纯色背景:background-color body { background-color:yellow; } h1 { background-color:#00ff00; } p { background-color:rgb(255,0,255); }

18 12 29 css background

background属性 属性解释 background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性,它可以分解成如下几个设置项: background-color 设置背景颜色 background-image 设置背景图片地址 background-repeat 设置背景图片如何重复平铺 background-position 设置背景图片的位置 background-attachment 设置背景图片是固定还是随

css background属性

background 简写属性在一个声明中设置所有的背景属性. 所有浏览器都支持 background 属性. 注释:IE8 以及更早的浏览器不支持一个元素多个背景图像. 注释:IE7 以及更早的浏览器不支持 "inherit".IE8 需要 !DOCTYPE.IE9 支持 "inherit". 可以设置如下属性: ?background-color ?background-position ?background-size ?background-repeat ?