CSS:背景样式

允我心安 提交于 2019-11-30 02:12:14

CSS背景

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

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

 

 

CSS 背景属性

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

设置背景图像是否及如何重复

 

 

 

 

 

 

 

 

 

 

 

背景色

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

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

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

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

例1:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="description"
content="HTML examples">
<meta name="keywords"
content="HTML, DHTML, CSS, XML, XHTML, JavaScript, VBScript">
<style type="text/css">
body {background-color:gray;}
h1 {background-color:blue;padding: 20px;}
</style>
</head>
<body>
<h1>这是标题</h1>
<p>这是段落</p>
<a href="//www.baidu.com" style="background-color:red">百度链接</a>
</body>
</html>

 

 

背景图像

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

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

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

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

例2:

<html>
<head>
<style type="text/css">
body {background-image:url(/i/eg_bg_04.gif);}
</style>
</head>
<body>
</body>
</html>

 

 

背景重复

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

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

3、默认地,背景图像将从一个元素的左上角开始

4、背景图像的位置是根据background-position属性设置的。如果未规定background-position属性,图像会被放置在元素的左上角

值    描述
repeat  默认。背景图像将在垂直方向和水平方向重复
repeat-x  背景图像将在水平方向重复
repeat-y   背景图像将在垂直方向重复
no-repeat  背景图像将仅显示一次
inherit  规定应该从父元素继承background-repeat属性的设置

 

 

 

 

 

 

 

 

 

例3:在垂直方向重复背景图像

<html
<head>
<style type="text/css">
body
{ 
  background-image:url('/i/eg_bg_03.gif');
  background-repeat:repeat-y;
}
</style>
</head>

<body>
<body>
</body>
</body>
</html>

 

例3_1:仅显示一次背景图像

<html>
<head>
<style type="text/css">
body {background-image:url(/i/eg_bg_04.gif);
    background-repeat: no-repeat}
</style>
</head>
<body></body>
</html>

注:从上面的例子可以看出
1、无background-repeat属性时:就是把一张图片拿来同时垂直、水平重复铺,直到铺满整个图片

2、background-repeat值为repeat-y或repeat-x时:就是把一张图片拿来在垂直或水平方向重复铺,直到在对应方向铺满

3、background-repeat值为no-repeat:就是在左上角铺一张图片,不会重复

 

 

背景定位

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

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

例4:将一个背景图像居中放置

<html>
<head>
<style type="text/css">
body
{ 
  background-image:url('/i/eg_bg_03.gif');
  background-repeat:no-repeat;
  background-attachment:fixed;
  background-position:center;
}
</style>
</head>

<body>
<body>
<p><b>提示:</b>您需要把 background-attachment 属性设置为 "fixed",才能保证该属性在 Firefox 和 Opera 中正常工作。</p>
</body>
</body>
</html>

 

 

 

关键字

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

百分数值

1、百分数值的表现方式更为复杂。假设你希望用百分数值将图像在其元素中居中如

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

 

2、图像适当放置,其中心与其元素的中心对齐。换句话说,百分数值同时应用于元素和图像

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

4、background-position的默认值是0% 0%,在功能上相当于top left:图像总是从元素内边距区的左上角开始平铺

例5:放在水平方向2/3、垂直方向1/3处

<html>
<head>
<style type="text/css">
body
  { 
    background-image:url('/i/eg_bg_03.gif');
    background-repeat:no-repeat;
    background-position:66% 33%;
  }
</style>
</head>
<body>
</body>
</html>

 

 

长度值

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

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

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

例6:

<html>
<head>
<style type="text/css">
body
  { 
    background-image:url('/i/eg_bg_03.gif');
    background-repeat:no-repeat;
    background-position:50px 100px;
  }
</style>
</head>
<body>
</body>
</html>

 

 

 

背景关联

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

例7:

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

 

例7_1:所有背景属性在一个声明之中

<head>
<style type="text/css">
body
{ 
background: #ff0000 url(/i/eg_bg_03.gif) no-repeat fixed center; 
}
</style>
</head>

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!