06. CSS Backgrounds背景
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
元素拥有不同的背景颜色:
<!DOCTYPE html> <html> <head> <mate charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> h1 { background-color:#6495ed; } p { background-color:#eoffff; } div { background-color:#b0c4de; } </style> </head> <body> <h1>CSS background-color 实例!</h1> <div> 改文本插入在 div 元素中。 <p>该段落有自己的背景颜色。</p> 我们仍然在同一个 div 中。 </div> </body> </html>
背景图像
background-image
属性描述了元素的背景图像.
默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体。
页面背景图片设置实例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> body { background-image:url('https://media.mybj123.com/wp-content/uploads/2021/06/1622601052-7e3f660480ab164.gif'); background-color:#cccccc; } </style> </head> <body> <h1>Hello World!</h1> </body> </html>
效果如下:
下面是一个例子是一个糟糕的文字和背景图像组合。文本可读性差:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> body {background-image:url('https://media.mybj123.com/wp-content/uploads/2021/06/1622601340-a068800d5d451df.jpg');} </style> </head> <body> <h1>Hello World</h1> <p>该文本不容易被阅读。</p> </body> </html>
效果如下:
背景图像 – 水平或垂直平铺
默认情况下 background-image
属性会在页面的水平或者垂直方向平铺。
一些图像如果在水平方向与垂直方向平铺,这样看起来很不协调,如下所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> body { background-image:url('https://media.mybj123.com/wp-content/uploads/2021/06/1622601723-6d7f34e634f174e.png'); } </style> </head> <body> <h1>Hello World!</h1> </body> </html>
效果如下:
如果图像只在水平方向平铺 (repeat-x), 页面背景会更好些:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> body { background-image:url('https://media.mybj123.com/wp-content/uploads/2021/06/1622601723-6d7f34e634f174e.png'); background-repeat:repeat-x; } </style> </head> <body> <h1>Hello World!</h1> </body> </html>
效果如下:
背景图像- 设置定位与不平铺
让背景图像不影响文本的排版。
如果你不想让图像平铺,你可以使用 background-repeat
属性:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> body { background-image:url('https://media.mybj123.com/wp-content/uploads/2021/06/1622602653-c59c8860fd83800.png'); background-repeat:no-repeat; } </style> </head> <body> <h1>你好,世界!</h1> <p>W3Cschool 背景图像示例。</p> <p>背景图片只显示了一次,但却干扰了读者!</p> </body> </html>
效果如下:
以上实例中,背景图像与文本显示在同一个位置,为了让页面排版更加合理,不影响文本的阅读,我们可以改变图像的位置。
可以利用 background-position
属性改变图像在背景中的位置:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> body { background-image:url('https://media.mybj123.com/wp-content/uploads/2021/06/1622602653-c59c8860fd83800.png'); background-repeat:no-repeat; background-position:right top; margin-right:200px; } </style> </head> <body> <h1>你好,编程狮!</h1> <p>背景图片不重复,设置 position 实例。</p> <p>背景图片只显示一次,并与文本分开。</p> <p>实例中还添加了 margin-right 属性用于让文本与图片间隔开。</p> </body> </html>
效果如下:
提示:为 background-position
属性提供值有很多方法。首先,可以使用一些关键字:top
、bottom
、left
、right
和 center
;其次,可以使用长度值,如 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 |
背景- 简写属性
在以上实例中我们可以看到页面的背景颜色通过了很多的属性来控制。
为了简化这些属性的代码,我们可以将这些属性合并在同一个属性中.
背景颜色的简写属性为 “background”:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>码云笔记(mybj123.com)</title> <style> body { background:#ffffff url('https://media.mybj123.com/wp-content/uploads/2021/06/1622602653-c59c8860fd83800.png') no-repeat right top; margin-right:200px; } </style> </head> <body> <h1>你好,编程狮!</h1> <p>背景图片不重复,设置 position 实例。</p> <p>背景图片只显示一次,并与文本分开。</p> <p>实例中还添加了 margin-right 属性用于让文本与图片间隔开。</p> </body> </html>
当使用简写属性时,属性值的顺序为::
background-color
background-image
background-repeat
background-attachment
background-position
以上属性无需全部使用,你可以按照页面的实际需要使用。
CSS 背景属性
Property | 描述 |
---|---|
background | 简写属性,作用是将背景属性设置在一个声明中。 |
background-attachment | 背景图像是否固定或者随着页面的其余部分滚动。 |
background-color | 设置元素的背景颜色。 |
background-image | 把图像设置为背景。 |
background-position | 设置背景图像的起始位置。 |
background-repeat | 设置背景图像是否及如何重复。 |
码云笔记 » 06. CSS Backgrounds背景