热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

css前端设计师必知的background属性(有CSS3内容)

背景属性——background是css中的核心属性。你应该对它有充分的了解。这篇文章详细讨论了background的所有相关属性,甚至包括background-attachment,还为
背景属性——background是css中的核心属性。你应该对它有充分的了解。这篇文章详细讨论了background的所有相关属性,甚至包括background-attachment,还为我们介绍了它在即将到来的CSS3中的样子,还有那些新加入的背景属性。
 
使用CSS2中的背景属性

回顾

css2中有五个与背景相关的属性。它们是:

 

  • background-color: 完全填充背景的颜色                    
  • background-image: 用作背景的图片                           
  • background-position: 确定背景图片的位置                 
  • background-repeat: 确定背景图片是否重复铺平            
  • background-attachment: 确定背景图片是否随页面滚动    

 
这些属性能够写在一个简单的属性中:background。必须指出background负责元素内容部分的背景,包括padding和border,但不包括margin。在Firefox, Safari 和 Opera, 以及 IE8中是这样处理的。不过在IE7 和万恶的IE6中就没包括border,区别就像下面的图片示例显示的那样 。
 
    在IE7 和 IE6中Background没有包括border

基本属性

Background color属性
background-color用来描述设置填充背景的颜色。有多种方法来定义确定填充的颜色,下列方法都是等效的:
 
background-color: blue;
background-color: rgb(0, 0, 255);
background-color: #0000ff;

background-color 也能设置成transparent,这样就能让其下的元素显示出来。
 
Background image属性
background-image 让你可以使用自己的图片作为背景。它和background-color关系密切。一旦你的图片不足以平铺整个元素背景,空出的部分将显示background-color设置的颜色。它的使用极其简单,不过要记得图片与css文件的位置关系:
background-image: url(image.jpg);
 

如果图片在文件夹内,就写成这样,均是用得相对路径:

background-image: url(images/image.jpg);
 
 
Background repeat属性
 
默认情况下你的图片会水平和垂直重复直至铺满整个元素。但有时你可能只想向一个方向重复。那么就这么设置:
 
background-repeat: repeat; /* 默认值. 会在所有方向重复铺展图片 */
background-repeat: no-repeat; /* 不重复。图片只出现一张 */
background-repeat: repeat-x; /* 水平重复铺展 */
background-repeat: repeat-y; /* 垂直重复铺展 */
background-repeat: inherit; /* 使用父元素的background-repeat属性值. */
 
 
Background position属性
background-position属性控制着背景图片在元素中的位置。掌握的关键是background-position 是图片的左上角定位。
下面是background-position属性的演示。当然我们把background-repeat 属性设置为 no-repeat。
 
/* Example 1: 默认. */
background-position: 0 0; /* i.e. 元素的左上角. */
 
/* Example 2: 移向右边. */
background-position: 75px 0;
 
/* Example 3: 移向左边. */
background-position: -75px 0;
 
/* Example 4: 向下移动. */
background-position: 0 100px;
 
                 你可以随意设置背景图片的位置
 
background-position 属性也可以以关键字,百分比等单位工作,并非一定要精确使用像素(px)。
关键字很常用,在水平方向有:
  • left
  • center
  • right

垂直方向有:

  • top
  • center
  • bottom

就像之前那样使用它们:

background-position: top right;
 

百分比的使用方法也一样:

background-position: 100% 50%;
效果就是这样:
 
笑脸图片被设置到元素的右边的中间
 
Background attachment属性
background-attachment属性定义用户滚动页面时背景图片会发生什么。它有三个可能值:scrollfixed and inherit.Inherit 仍然是继承其父元素的设定要充分理解background-attachment属性。首先就得搞清用户滚动页面时,web页面发生了什么。如果你设置值为fixed,那么当你向下滚动页面时,内容向下滚动了,而背景不会跟着滚动。结果就好像内容向上在滚动。当然,如果你设值为scroll,背景就会滚动了。
下面我们看一个例子:

 

background-image: url(test-image.jpg);
 
background-position: 0 0;
background-repeat: no-repeat;
background-attachment: scroll;
 
 
当我们向下滚动页面时,背景图片向上滚动直至消失.
 

再看一个fixed例子:

background-image: url(test-image.jpg);
background-position: 0 100%;
background-repeat: no-repeat;
background-attachment: fixed;
 
 
向下滚动页面,背景图片依然可见.
 
值得注意的是背景图片只能在其元素内移动,下面就是一个例子:
background-image: url(test-image.jpg);
background-position: 0 100%;
background-repeat: no-repeat;
background-attachment: fixed;
 
 
部分图片消失了,因为出元素边界了.
 
简单的Background属性
我们可以把这些属性设定写在一个属性内. 它的格式如下:
 
background:
 
 

例如, 这些设定...

background-color: transparent;
background-image: url(image.jpg);
background-position: 50% 0 ;
background-attachment: scroll;
background-repeat: repeat-y;
 
... 可以写成:
background: transparent url(image.jpg) 50% 0 scroll repeat-y;
 
而且你无需设定每个值。如果你不写,就会使用默认值。因此,上面的也可写成这样:
background: url(image.jpg) 50% 0 repeat-y;
 

背景的“非常规”应用

背景属性除了设置美化元素之外,也有其他广泛的非常规用途。

Faux Columns

当使用float属性布局时,确保两纵行长度相等可比较困难。如果两个元素大小不一,那背景图片就乱了。Faux columns是个简单的解决方案,首先发表在  A List Apart
简单的说就是在它们的父元素中设置一个整体的背景图片,图片中纵行的位置与分开的实际位置正好符合。
 

Text Replacement

web上字体的选择余地很小。我们的常用方法是制作文字的图片,不过只这么干就对搜索引擎不友好了。为此一个流行的方法是用背景属性显示文字的图片,而把其上的文字隐藏起来。这样既对搜索引擎和屏幕阅读器友好,在浏览器里也能看到炫酷的字体。
例如,文字信息这样写:
 

Blogroll

 
 
如果文字图片是200px宽,75px高, 那我们就用下面的css代码表现整张图片:
 
h3.blogroll {
width: 200px;
height: 75px; /* 就能显示整张图片. */
background:url(blogroll-text.jpg) 0 0 no-repeat; /* 设定图片*/
text-indent: -9999px; /* 向左移动文字9999px以隐藏文字*/
}
 

Easier Bullet Points

无序列表选项的默认样式也许不那么好看。那么我们就用背景图片让他们看起来更nicer:
ul {
list-style: none; /* 去除默认样式. */
}
 
ul li {
padding-left: 40px; /* 让内容靠内,为背景显示留出空间. */
background: url(bulletpoint.jpg) 0 0 no-repeat;
}
 

CSS3中的背景属性

CSS3中有不少关于背景属性的变化。最明显的就是加入了多背景图片的支持,另外还有四个新属性,以及对已有属性的改动。

多背景图片

CSS3允许你为一个元素使用多于一张的背景图片。代码与CSS2中相同,你可以用逗号分隔开几张图片。第一个声明的图片会出现在元素顶部,就像这样:
 
background-image: url(top-image.jpg), url(middle-image.jpg), url(bottom-image.jpg);
 

新属性1: Background Clip

这个属性又让我们回到了开始的问题,关于border与background属性的问题。
 background-clip 属性让你能控制在哪显示你的背景.可能的值有:
  • background-clip: border-box;
    background 在 border 内显示,和现在的方式一样。.
  • background-clip: padding-box;
    backgrounds 在 padding内显示,而非border,跟IE6的处理方式相同。
  • background-clip: content-box;
    backgrounds 只显示在内容内, 而非border 或 padding。
  • background-clip: no-clip;
    默认值,和border-box一样。

新属性2: Background Origin

这个属性需要和background-position属性一起使用。你可以改变background-position 的计算方式(就像 background-clip一样).

  • background-origin: border-box;
    background-position 从border开始计算。
  • background-origin: padding-box;
    background-position从padding开始计算。
  • background-origin: content-box;
    background-position从内容开始计算。

想看background-clip和background-origin属性应用的例子请看CSS3.info.

新属性3: Background Size

 background-size属性用来重定义你的背景图片大小。其可能值有:

  • background-size: contain;
    缩小图片以符合元素大小。
  • background-size: cover;
    扩展图片以符合元素大小。
  • background-size: 100px 100px;
    重定义大小。
  • background-size: 50% 100%;
    用百分比重定义。

你可以看看例子:CSS 3 specifications

新属性4: Background Break

CSS 3中, 元素能分拆成多个部分(例如inline元素span能占多个行)。background-break属性控制背景图像如何在多个部分展示。

可能值有:
Background-break: continuous;默认值 
Background-break: bounding-box;: 将两部分之间的值加入考虑.。
Background-break: each-box;: 每个部分单独考虑。
 
Background Color属性的改变
CSS3中background-color属性支持前景色与底色:background-color: green / blue;

 

就这个例子,默认颜色是绿色,如果无法显示,则用蓝色。
 
Background Repeat属性的改变

还记得CSS 2中图片可能会因过界而部分消失吗? CSS 3 有两个新可能值来解决这一问题:

  • space: 设置重复图片的间距。
  • round: 重复图片自动调整大小以正好填充元素。

background-repeat: space的例子:CSS 3 specifications

Background Attachment属性的改变

background-attachment有个新可能值: local.。它与可滚动的元素相关(比如拥有属性overflow: scroll;).。当background-attachment值为scroll时, 背景图片不会随内容滚动。现在有background-attachment:local,图片可以随内容一起滚动.

总结

你应该好好领悟background,并且应当留意即将到来的CSS3,就像我一样!

 

from Smashing Magazine  

http://www.smashingmagazine.com/2009/09/02/backgrounds-in-css-everything-you-need-to-know/


转载自:http://www.cnblogs.com/biko-zc/archive/2009/09/09/1563545.html


推荐阅读
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
author-avatar
徐大总统_584
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有