CSS3 background-size图片自适应

CSS3 background-size图片自适应

http://www.html5cn.com.cn/css3/2013-04-21/267.html

background-size属性和background-origin属性、background-clip属性一 样,也是CSS3对于background新增加的属性。它的作用是指定背景图片的大小,比如:对于一个div块,我们需要为它添加一张图片作为背景,然 而图片大小并非总能尽如人意,但我们又不想使用background-repeat属性让背景平铺,那么这时我们就可以使用background- size属性使图片放大或者是缩小来适应div块,当然这也可能会造成背景图的失真。

下面我们就先从它的语法说起吧:

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

这 个属性有2个可选值,第1个值用于指定背景图的宽width,第2个值用于指定背景图的高height,如果只设定1个值,则第2个值默认为自动 auto。这两个值可取数字(单位为px)也可以取百分比,当指定为百分比时,大小会由所在区域的宽度、高度,以及background-origin的 位置决定,当然还可以通过cover和contain来对图片进行伸缩。

cover:用于等比放大背景图

contain:用于等比缩小背景图(背景图需大于块,否则背景图仍会被放大以适应块)

auto:默认值

下面我们就用实例来看一下它们的效果吧

首先看一下初始代码及效果

HTML代码:

1
2
3
<</code>div class="div1">
    
BeyondWeb.cn-记录与分享前端开发的点点滴滴
</</code>div>

CSS代码:

1
2
3
4
5
6
7
8
9
.div
1
{
    
width
:
200px
;
    
height
:
100px
;
    
color
:
#fff
;
    
font-size
:
12px
;
    
border
:
10px
dotted
#333
;
    
padding
:
10px
;
    
background
:
#666
url
(girl.jpg)
no-repeat
;
}

初始效果图:

1、background-size取固定值

CSS代码:

1
2
3
4
5
6
7
8
.div
1
{
    
...
    
-moz-background-
size
:
200px
100px
;
    
-webkit-background-
size
:
200px
100px
;
    
-o-background-
size
:
200px
100px
;
    
background-
size
:
200px
100px
;
    
...
}

效果图:

2、background取百分比

CSS代码:

1
2
3
4
5
6
7
8
.div
1
{
    
...
    
-moz-background-
size
:
90%
60%
;
    
-webkit-background-
size
:
90%
60%
;
    
-o-background-
size
:
90%
60%
;
    
background-
size
:
90%
60%
;
    
...
}

效果图:

3、background取cover

CSS代码:

1
2
3
4
5
6
7
8
.div
1
{
    
...
    
-moz-background-
size
:cover;
    
-webkit-background-
size
:cover;
    
-o-background-
size
:cover;
    
background-
size
:cover;
    
...
}

效果图:

为了填满背景,此时是把原图等比放大了

4、background取contain

CSS代码:

1
2
3
4
5
6
7
8
.div
1
{
    
...
    
-moz-background-
size
:contain;
    
-webkit-background-
size
:contain;
    
-o-background-
size
:contain;
    
background-
size
:contain;
    
...
}

效果图:

此时图片并没有缩小,反而被放大了,其实这是因为原背景图比div块小的原因,那么如果我们照一张大一点的图片,那么会是什么效果呢?现在拿一张比上面div块大的多的图片试一试,CSS代码是不变的,来看一下效果:

这时,背景图片被等比例缩小了,以适应div块。

5、background取auto

CSS代码:

1
2
3
4
5
6
7
8
.div
1
{
    
...
    
-moz-background-
size
:
auto
;
    
-webkit-background-
size
:
auto
;
    
-o-background-
size
:
auto
;
    
background-
size
:
auto
;
    
...
}

效果图:

auto是默认值,这和初始效果是一样的,背景图片不做任何的放大或者是缩小。

好了,background-size属性就说这么多。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114265.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月21日 下午12:00
下一篇 2021年9月21日 下午1:00


相关推荐

  • js特殊符号正则表达式_js正则表达式判断特殊字符

    js特殊符号正则表达式_js正则表达式判断特殊字符JavaScript正则表达式功能:搜索、替换、判断JavaScript正则表达式格式:/正则表达式主体/修饰符JavaScript正则表达式的修饰符:i:忽略大小写g:全局匹配m:多行匹配JavaScript中正则表达式应用场景:搜索功能(字符串方法)search()方法参数为字符串或者是正则表达式返回结果为匹配成功的索引值,如果没有,返回-1替换功能(字符串方法)r…

    2025年11月12日
    5
  • 三 Bot 三 Agent:多智能体架构上线记录

    三 Bot 三 Agent:多智能体架构上线记录

    2026年3月17日
    3
  • vue组件化的理解_vue的组件化是如何实现的

    vue组件化的理解_vue的组件化是如何实现的前言有时候有一组html结构的代码,并且这个上面可能还绑定了事件。然后这段代码可能有多个地方都被使用到了,如果都是拷贝来拷贝去,很多代码都是重复的,包括事件部分的代码都是重复的。那么这时候我们就可以

    2022年8月7日
    9
  • opencv 模板匹配

    opencv 模板匹配我的其他文章 AKAZE 局部特征匹配级联分类器使用等比例缩放图片给图片加 logo 鱼眼校正智能答卷识别 opencv 滤镜效果灰度图像增强方式更多文章正在写作过程中 基础知识点模板匹配意思就是找一副已经存在的图片 从其他图片中查找近似的图片 接下来我们准备两幅大图 一副小图准备两幅大图 监控里面的截图并且时间不一样 角度也不一样图片一图片二可以看出两幅图片是不一样的 由于摄像头角度偏摆 部分图片并不一样 角度也不一致 showmethecod include lt

    2026年3月16日
    3
  • 调用usb摄像头_usb监控

    调用usb摄像头_usb监控在使用DirectShow控制USB摄像头的技术方面,需要做几件准备工作:1、安装DirectShowSDK,这个比较繁琐,具体可以网上搜索。2、配置开发工具的路径,如VS2008的相关包含的路径设置3、网上有示例代码,我的资源也上传了一个示例代码。主要对代码中可能遇到的问题进行总结:一般实现功能,包含两个,一个是实时预览,一个是控制拍摄一张图像。问题就是,这两个功能单

    2022年8月31日
    7
  • SpringDataJpa:JpaRepository增删改查

    SpringDataJpa:JpaRepository增删改查Jpa查询1.JpaRepository简单查询基本查询也分为两种,一种是springdata默认已经实现,一种是根据查询的方法来自动解析成SQL。 预先生成方法 springdatajpa默认预先生成了一些基本的CURD的方法,例如:增、删、改等等继承JpaRepositorypublicinterfaceUserRepositoryextends…

    2022年10月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号