CSS 背景样式

CSS 背景样式

CSS 可以通过以下几个属性定义设置HTML元素背景效果。可设置纯色作为元素背景,也可使用背景图像创建复杂的效果作为元素背景。

CSS常用的背景样式属性有下面几个:

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

背景颜色

background-color 属性定义了元素的背景颜色,这个属性接受任何合法的颜色值。

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

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

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

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

示例如下:

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

背景图像

background-image 属性描定义了元素的背景图像,属性值默认为none,表示背景上没有放置任何图像。

设置背景图像后,在不指定显示方式情况下,默认图像进行平铺重复显示,以覆盖整个元素实体。

示例如下:

body {background-image:url('images/img_chania.jpg');}

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

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

p.flower {background-image: url('images/img_flowers.jpg');}

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

a.radio {background-image: url('images/html5.jpg');}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

提示: background-position 属性值设置支持多种方式:

  • 可以使用一些关键字:topbottomleftrightcenter
  • 可以使用长度值,如 100px 或 5cm;
  • 也可以使用百分数值。

不同类型的值对于背景图像的放置稍有差异。

关键字

图像放置关键字是最容易理解的赋值方式,就像其名字的意义。例如,top left 使图像放置在元素内边距区的左上角。

只要保证不超过两个关键字:一个对应水平方向,另一个对应垂直方向,那么你可以设置位置关键字以任何顺序出现。

如果只有一个关键字,则会默认另一个关键字为 center

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

p{
	background-image:url('img_tree.png');        
	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('img_tree.png');  
	background-repeat:no-repeat;    
	background-position:50% 50%;
}

这会导致图像适当放置,其中心与其元素的中心对齐。

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

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

长度值

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

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

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

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

背景- 简写属性

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

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

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

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

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

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

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

这个实例使用了先前介绍的 CSS,你可以查看相应实例: CSS 实例

更多实例

如何设置固定的背景图像
本例演示如何设置固定的背景图像。图像不会随着页面的其他部分滚动。

CSS 背景属性

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/59526.html

(0)
上一篇 2021年8月9日
下一篇 2021年8月9日

相关推荐

发表回复

登录后才能评论