博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS(4)背景
阅读量:5323 次
发布时间:2019-06-14

本文共 2444 字,大约阅读时间需要 8 分钟。

  CSS 允许应用纯色(background-color)作为背景,也允许使用背景图像(background-image)创建相当复杂的效果。CSS 在这方面的能力远远在 HTML 之上。

一、背景颜色 

  可以使用 background-color 属性为元素设置背景色。这个属性接受任何合法的颜色值。可以为所有元素设置背景色,这包括 body 一直到 em 和 a 等行内元素。比如下面这条规则把<p></p>元素的背景设置为灰色:

p {
background-color: gray;}

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

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

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

  背景颜色的示例:

这是标题 1

这是标题 2

这是段落

这个段落设置了内边距。

二、背景图像

  1.基本语法

  要为元素设置背景图像,需要使用 background-image 属性。background-image 属性的默认值是 none,表示背景上没有放置任何图像。如果需要设置一个背景图像,必须为这个属性设置一个 URL 值:

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

元素的background-image属性 也不能继承。事实上,所有背景属性都不能继承。

  2.背景图像的应用范围

  大多数背景都应用到 body 元素,不过并不仅限于此。下面例子为一个段落应用了一个背景,而不会对文档的其他部分应用背景:

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

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

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

  3.背景图像的重复

  如果需要在页面上对背景图像进行平铺,可以使用 background-repeat 属性。background-repeat属性取值: repeat 导致图像在水平垂直方向上都平铺,repeat-x 和 repeat-y 分别导致图像只在水平或垂直方向上重复,no-repeat 则不允许图像在任何方向上平铺。

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

/*为body元素设置垂直平铺的背景图像*/body  {
background-image: url(/i/eg_bg_03.gif); background-repeat: repeat-y; }

  4.背景图像的定位

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

/*为body设置没有平铺而且居中的背景图像*/body{
background-image:url('/i/eg_bg_03.gif');background-repeat:no-repeat;background-position:center;}

  5.背景图像关联

  如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。可以通过 background-attachment 属性防止这种滚动。background-attachment 属性的默认值是 scroll,也就是说,在默认的情况下,背景会随文档滚动。可以通过改变这个属性的值,声明图像相对于可视区是固定的(fixed),因此不会受到滚动的影响: 

/*为body设置固定的背景*/body   {
background-image:url(/i/eg_bg_02.gif); background-repeat:no-repeat; background-attachment:fixed }

 三、background简写属性

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

  可以按顺序设置如下属性:
     •background-color
     •background-image
     •background-repeat
     •background-attachment
     •background-position 
  如果不设置其中的某个值,也不会出问题,比如 background:#ff0000 url('smiley.gif'); 也是允许的。建议使用这个属性,而不是分别使用单个属性,因为这个属性在较老的浏览器中能够得到更好的支持,而且需要键入的字母也更少。

/*通过简写属性,在一个声明中设置所有的背景属性*/body{
background: #ff0000 url(/i/eg_bg_03.gif) no-repeat fixed center; }

参考:

转载于:https://www.cnblogs.com/sunyunh/archive/2012/08/26/2657050.html

你可能感兴趣的文章
面向对象设计中private,public,protected的访问控制原则及静态代码块的初始化顺序...
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
Android 将drawable下的图片转换成bitmap、Drawable
查看>>
介绍Win7 win8 上Java环境的配置
查看>>
移动、联通和电信,哪家的宽带好,看完你就知道该怎么选了!
查看>>
Linux设置环境变量的方法
查看>>
Atitit.进程管理常用api
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>