html5 background-size,css3 Background-size属性使用说明

今天我来给大家介绍一下关于css3 Background-size的使用方法,希望此文章对各位同学有所帮助哦。

昨天做了一个ipad版的用户协议,顶部和底部各有一个小banner,ipad有横版和竖版,两版宽度不一样,所以两个banner的宽度也不一样。

为了减少使用image,我用到了Background-size来自适应div的宽度。

background-size的类型

background-size需要两个值,它的类型可以是像素(px)、百分比(%)或是auto,还可以是cover和contain。第一个值为背景图的width,另外一个值用于指定背景图上的height,如果只设定1个值,则第2个默认为auto,但当值为cover和contain时除外。

cover:保持图像的宽高比例,将图片缩放到正好完全覆盖定义的背景区域,其中有一边和背景相同。

语法:

background-size :[ | | auto ]{1,2} | cover | contain

相关属性: background-clip | background-origin

取值:

:由浮点数字和单位标识符组成的长度值。不可为负值。

:取值为0%到100%之间的值。不可为负值。

说明:

设置背景图片的大小。

指定背景大小,以象素或百分比显示。当指定为百分比时,大小会由所在区域的宽度、高度,以及background-origin的位置决定。还可以通过cover和contain来对图片进行伸缩。

引擎类型 Gecko Webkit Presto Background-size -webkit-background-size -o-background-size

具体的使用方法如下: 代码如下 复制代码

.wrapper h1{

height:163px;

background:url(../images/bg-header-ipad.jpg) no-repeat;  /*背景图片宽高 1024 x 63 */

-webkit-background-size:100% auto; /* 宽度自适应div的宽度,宽度成正比拉伸或收缩 */

}

html: 代码如下 复制代码

雨打浮萍

专注于web前端开发

css: 代码如下 复制代码

.div{ width:160px; height:120px; border:1px solid #ccc; padding:10px; background-image:url(bg.jpg); background-size:cover; }效果如下:

4a4e176a004af43ddcf8f389e14a1fa5.png

contain:保持图像的宽高比例,将图片缩放到宽或者高正好适应定义背景的区域,但背景仍在定义的区域之内,被包含。

css: 代码如下 复制代码

.div{ width:160px; height:120px; border:1px solid #ccc; padding:10px; background:url(bg.jpg) no-repeat; background-size:contain; font-family:Microsoft Yahei; }效果如下:

f60645ead3a962e91647d74b623d82a1.png

length 代码如下 复制代码

.div{ background-size:150px 80px; }显示效果:

536f73451b8ac3a4daec93068e5f687d.png

这里为背景图片设置宽高,图片会直接被拉伸或缩放,不保持原来的比例。如果只设置一个数值,另外一个值默认为auto,它将按图片原比例来伸缩。

percentage 代码如下 复制代码

.div{ background-size:40% 60%; }

53af2f0403cdb2f2786df94c737f029c.png

这里需要特别注意一下,图片大小不是按背景图片大小的百分数来计算的,而是装载背景图的元素的百分比来计算。

浏览器的兼容性

支持浏览器:IE(9)、firefox、Chrome、Opera、Safari。 代码如下 复制代码

/*Mozilla*/ -moz-background-size:auto||||||cover||contain; /*Webkit*/ -webkit-background-size:auto||||||cover||contain; /*Presto*/ -o-background-size:auto||||||cover||contain; /*W3c*/ background-size:auto||||||cover||contain;注意:虽然我上面写到了各浏览器需要添加自己独特的方式,但并不代表这个样式一定要添加,在我写的事 例中并没有为各浏览写自己的样式,仍然执行很好 兼容性:

类型644df9dda8ff63e82247981e76a20b19.pngInternet Explorer12398a413489e4f8898da6907873ade6.pngFirefox44c68e572d229f13abe5a8dff0c67e23.pngChrome1e9d7175a8e94f2625e322a8004f6b0e.pngOpera9c729bff3e13b47477a73e85cb51e141.pngSafari版本(×)IE6(×)Firefox 2.0(√)Chrome 1.0.x(√)Opera 9.63(√)Safari 3.1

(×)IE7(×)Firefox 3.0(√)Chrome 2.0.x(√)Safari 4

(×)IE8(×)Firefox 3.5

(√)IE9(√)Firefox 3.6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值