您现在的位置是:网站首页> 编程资料编程资料
详解html中background-image属性的设置用一个DIV画图通过background-image叠加实现深入浅出CSS3 background-clip,background-origin和border-image教程
2021-08-30
1282人已围观
简介 background-image 属性允许指定一个图片展示在背景中。可以和 background-color 连用,因此如果图片不重复地话,图片覆盖不到地地方都会被背景色填充。代码很简单,只需要记住,路径是相对于样式表的,因此以下的代码中,图片和样式表是 在同一个目录中的
对于图片,首先我们先想到是背景图片。因为我们许许多的装饰都是用背景图片来实现的。既然这样,那么就从CSS控制背景图片讲起吧。
定义和用法
background-image 属性为元素设置背景图像。
元素的背景占据了元素的全部尺寸,包括内边距和边框,但不包括外边距。
默认地,背景图像位于元素的左上角,并在水平和垂直方向上重复。
1.CSS控制背景图片:
对于一个网页,我们开始设计的时候,可能没有过多的去想背景图到底是什么,因为大多都是设计背景色就可以了,原因吗,我想也很简单,因为它与前景音乐一样,对于网页的打开,速度会有一定的影响。不过对于一般的个人网站,或者个人博客而言,它对展现自己的个性,当然是不可或缺的了,当然什么都不会太过完美,有好就有坏,也就是当图像不可用但CSS可用的时候,替换内容就不会显示出来,因此,并不建议在导航按钮文本或类似的情况中使用CSS背景图片。
控制背景图片的CSS属性有很多,只要与图片的相关的,大多都会用的上。
(1)、背景图片的导入:
当然大家最熟悉的当然是background与background-image了。
为网页设计背景图片的代码是:
body {background:url("d:\images\04.jpg")}
或者
body {background-image:url("d:\images\04.jpg")}
这样的话,我们就能将想要作背景的图片导进网页里了。
(2)、背景图片的显示方式:
当然,只用上面的代码,是无法表达出自己想要的效果的。因为,图片小了,就会以平铺的方式,如果是大了,为显示它,就是会出现滚动条,这样多不好。因此,我们还得多其进行显示控制,也就是要用到background-repeat,
它是取值:
repeat : 默认值。背景图像在纵向和横向上平铺
no-repeat : 背景图像不平铺
repeat-x : 背景图像仅在横向上平铺
repeat-y : 背景图像仅在纵向上平铺
而代码,我想只要懂一点CSS的都知道,如下
:
body {background:url("d:\images\04.jpg");background-repeat:no-repeat}
这样的话,它就是以原图像大小显示了。
(3)、背景图片的大小控制:
不过问题是,倘若图片过大了,又怎么办呢?对于一个好网页来说,最好不要用太大的图片,原因上面也说过了,影响打开网页的速度。我们最好还是用PS或者FireWorks处理一下。不过既然我提到了,我们也不防用CSS来实现图片大小的控制。
我想很多人会自然而然的用上如下代码:
呵呵,想法是好的,但你所用的浏览器支持吗?我想IE或者FF一定会当作没看见吧。也许你会问,我曾经设计论坛风格时,是可以实现的啊?我想,如果只是上面的代码的话,那是不可控制图片的,因为它只是控制BODY的大小。当然,这里也是控制不了的。如果是其它的ID标记,我想是可以控制记标记的范围大小,呵呵,当然也就不是图像的大小了。
说实话,这个问题不仅困扰着你们,同时也困扰着我。因为它只是一个属性的值,而不是一个真正的对像。呵想到了用CSS控制的话,记得告诉我哦。
补充:W3C于9月10发布了一篇名为《CSS Backgrounds and Borders Module Level 3》的应文章,里面为CSS的背景加上了几个我们从未见的属性:
background-clip :
background-origin :
background-size :背景尺寸。
background-break :
虽然是有了这些属性,不过现在还没有支持它们的浏览器。真是好苦恼啊。
(4)、背景图片的位置控制:
背景图片,我科是导进来了,但是它的位置真有一点无法让人接受。因为它默认的是左上对齐。但是我们却不想这样子放置,那我们又该怎么办呢。不要着急,激动人心的时刻马上到来,现在,让我们来认识一下background-position、background-position-x及background-position-y吧。
a.基本语法:
background-position : length || length
background-position : position || position
background-position-x : length | left | center | right
background-position-y : length | top | center | bottom
b.语法取值:
length :百分数 | 由浮点数字和单位标识符组成的长度值。
position : top | center | bottom | left | center | right
c.示例:
body { background-image: url("d:\images\04.jpg"); background-position: 50% 50%; background-repeat:no-repeat; }
body { background-image: url("d:\images\04.jpg"); background-position-x: 50%; background-repeat:no-repeat; }
body { background-image: url("d:\images\04.jpg"); background-position-y: 50%; background-repeat:no-repeat; }
对于取值为length | top | center | bottom我只写下面三个例子。
body { background-image: url("d:\images\04.jpg"); background-position: top right; background-repeat:no-repeat; }
body { background-image: url("d:\images\04.jpg"); background-position: 50% center; background-repeat:no-repeat; }
body { background-image: url("d:\images\04.jpg"); background-position: 60px center; background-repeat:no-repeat; }
说了这么多例子,我想你对于定位,有一定的了解了吧。
(5)、背景图片的透明设置:
有的时候,我们总想着去将图片设置成透明的。
(6)、多幅背景图片的设置:
对于多幅背景图片的设置,我是在《超越CSS:WEB设计艺术精髓》里看到的。不过,却又让我很遗憾,因为,目前支持一个标签内有多幅背景图片的浏览器太小了,我知道的也只有Apple Safari 。以许你会问,这怎么可能。当你看完这个实例之后,我想你会惊讶,“天啊,CSS3之前都只能给每个元素使用一幅图片。”如果想研究一下的话,就快快安装一个SAFARI浏览器吧。对我而言,我相信,这是发展的趋势。总之一句话,谁解释CSS能力越强,它就将是发展的潮流,谁俱有完美的WEB准标,谁就是明日浏览器之星。
代码如下:
body {
background-image:
url("d:\mypic\001.png"),
url("d:\mypic\002.png");
url("d:\mypic\003.png");
url("d:\mypic\004.png");
background-repeat:
no-repeat,
no-repeat,
no-repeat,
no-repeat,
repeat-x,
repeat-y,
repeat-x,
repeat-y,
background-position:
top left,
top right,
bottom right,
bottom left,
top left,
top right,
bottom right,
bottom left;}
相关内容
- HTML表格布局实例讲解html5绘制的用户数据表格与饼状图形效果源码有关HTML表格边框的设置小技巧Div+CSS对HTML的table表格定位用法实例深入解析HTML的table表格标签与相关的换行问题html制作细线表格的简单实例
- Nofollow标签的写法以及nofollow使用介绍SEO新站点nofollow标签的妙用网站优化中nofollow标签的使用与外部链接介绍浅谈:nofollow标签的使用与分析在网站SEO优化中nofollow标签的使用与外部链接合理应用nofollow标签可以增加网站权重谷歌调整nofollow标签对PR的处理nofollow标签的作用 nofollow标签添加方法
- 关于html的下载功能详解HTML5全屏响应式缩放切换幻灯片代码html5 canvas实现的“我们要发财了”游戏源码Html制作简单而漂亮的登录页面html5实现的仿网页版微信聊天界面效果源码剖析标注HTML元素时class比id所具有的优势详解HTML5中rel属性的prefetch预加载功能使用HTML表格布局实例讲解html5 canvas实现的3D飞行飞行动画特效源码表格单元格内容超出时显示省略号效果(实现代码)
- Table显示你要显示的边框代码Dreamweaver中怎么让html网页中的table边框细线显示?CSS样式简单实现Table没有外边框只有内边框一个属性border-collapse解决Table的边框问题CSS控制Table内外边框、颜色、大小示例css让table不显示边框的代码在火狐和谷歌浏览器中无效HTML table表格边框的控制详细说明用CSS设置表格Table的细边框的比较好用的方法 用CSS样式描述表格Table边框网页表格边框的设置方法网页表格表框制作技巧
- HTML与XHTML、以及HTML4与HTML5标签之间的区别简介浅谈HTML5 FileReader分布读取文件以及其方法简介HTML5的一个显示电池状态的API简介HTML5是什么 HTML5是什么意思 HTML5简介HTML5安全介绍之内容安全策略(CSP)简介HTML5的标签的代码的简单介绍 HTML5标签的简介html5新增的定时器requestAnimationFrame实现进度条功能HTML5新增加的功能详解iPhone5和iOS6上HTML5开发的新增功能html5简介及新增功能介绍
- 详解HTML的style标签以及相关的CSS引用HTML与XHTML、以及HTML4与HTML5标签之间的区别简介HTML5安全攻防之新标签攻击详解简单介绍HTML5中audio标签的使用详解HTML5中ol标签的用法详解HTML的<input> 标签及其禁用方法HTML中Li标签的使用示例HTML5 video标签(播放器)学习笔记(二):播放控制HTML页面中添加Canvas标签示例常用HTML meta 标签属性(网站兼容与优化需要)HTML常用标签大全及html标签的特点
- 修改输入框placeholder文字默认颜色-webkit-input-placeholder方法HTML中文件上传时使用的<input type="file">元素的样式自定义浅谈html中input只读属性readonly和disable的区别点击按钮文字变成input框,点击保存变成文字的实现代码jQuery input文本框点击出现下拉选择框特效源码CSS3表单input输入框聚焦动画特效源码 24种关于input的file 控件及美化
- 前端开发每天必学之HTML入门介绍 html/css基础篇——html代码编写过程中的几个警惕点(必看)html、css基础注意点(前端必看篇)HTML CSS样式基础(必看篇)HTML基础总结推荐(段落)HTML基础知识——css样式表,样式属性,格式与布局详解HTML基础知识——设置超链接的样式简单实例HTML基础必看——全面了解css样式表HTML基础必看---表单,图片热点,网页划区和拼接详解HTML基础重点_一般标签、常用标签和表格浅谈HTML(css基础样式)
- 浅析响应式框架中,table表头自动换行的快速解决方法纯html+css实现Element loading效果纯html+css实现奥运五环的示例代码HTML+CSS实现导航条下拉菜单的示例代码html+css实现滚动到元素位置显示加载动画效果纯html+css实现打字效果html+css实现环绕倒影加载特效html输入两个数实现加减乘除功能html中显示特殊符号(附带特殊字符对应表)关于html选择框创建占位符的问题html css3不拉伸图片显示效果
- 基于meta实现页面的定时刷新或跳转 使用CSS中的meta实现web定时刷新或跳转的方法
