• CSS——background-size实现图片自适应


    在网页端,我们经常想让图片能够自适应拉伸缩放,使之可以完美的嵌入我们给定的容器里,比如div,button,input,下面我将用代码来说明如何实现这个功能!

    一、div背景图自适应

    如果知道图片都有自身的大小尺寸,那我们如何把一张图片自适应缩放到一个给定大小的div里呢?这里只要用到background-size属性就可以了!

    实例一:

    代码用的原图大小为:159*113

    代码如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>sdds</title>
            <style>
                .bg0
                {    
                    width: 318px; 
                    height: 113px;/* 设置的div框的宽高*/
                    background: url(img/demo.jpg) no-repeat;
                    background-color: green;  /* 加在url(img/demo.jpg)后面,这个颜色才有效,加在前面设置这个颜色属性无效*/
                
                }
                /* 图片自适应大小 */
                .bg1
                {
                    width: 500px;
                    height: 300px; /* 设置的div框的宽高*/
                    background: url(img/demo.jpg) no-repeat;
                     /* 以父元素的百分比来设置背景图像的宽度和高度。*/
                    background-size: 100% 100%;
                }
            </style>
        </head>
    
    <body>
        <div class="bg0"></div>
        <div class="bg1"></div>
    </body>
    </html>

    运行结果:

    实例二:

    代码如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>sdds</title>
            <style>
                .bg0{
                    width: 159px;
                    height: 113px;
                    background: url(img/demo.jpg) no-repeat;
                }
                /* 图片自适应大小 */
                .bg1
                {
                    width: 500px;
                    height: 300px; /* 设置的div框的宽高*/
                    background: url(img/demo.jpg) no-repeat;
                     /* 以父元素的百分比来设置背景图像的宽度和高度。*/
                    background-size: 100% 100%;
                }
            </style>
        </head>
    
    <body>
        <div class="bg0"></div>
        <div style=" 800px; height: 600px; background-color: red;">
            <div class="bg1"></div>
        </div>
    </body>
    </html>

    运行结果:

    注:为了使图片自适应div大小,我们设置了 background-size: 100% 100%;   background-size属性是以父元素的百分比来设置背景图像的宽度和高度。注意,由实例二可知,这里的父元素并不是背景色为红色的div,而是类名为bg1的div。类名为bg1的div才是设置的背景图片的父元素,我的理解是先设置了一个类名为bg1的div,然后再在这个div上嵌入了背景图像子元素。所以,类名为bg1的div是设置的背景图片的父元素。

    二、button背景图自适应

    button按钮可分为两种,一种是直接button标签的按钮,一种是button类型的input标签,两者差别不大,具体差别可自己网上查询。

     代码如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>演示</title>
        </head>
        <body>
            <!-- 原图 -->
            <img src="img/qt_img/SA_4.png" />
            <!-- button背景图 -->
            <button style=" 300px; height: 100px; background: url(img/qt_img/SA_4.png); background-size: 100% 100%;"></button>
            <!-- input button类型背景图 -->
            <input type="button"  style=" 300px; height: 200px; background: url(img/qt_img/SA_4.png);  background-size: 100% 100%;" />
        </body>
    </html>

    运行结果:

  • 相关阅读:
    【Ruby on Rails 学习五】Ruby语言的方法
    【Ruby on Rails 学习六】Ruby 类 的入门
    【Ruby on Rails 学习三】Ruby 基本数据类型(类、类的实例、对象)
    【深度学习笔记】第 1 课:从机器学习到深度学习
    【Ruby on Rails学习二】在线学习资料的整理
    【Ruby on Rails 学习一】ubuntu14.04配置rvm与ruby
    THREE.JS + Blender(obj、mtl加载代码)
    全站查询和分页显示——在线留言板2
    增加留言版块——在线留言板1
    html加载速度技术点
  • 原文地址:https://www.cnblogs.com/FHC1994/p/10111137.html
Copyright © 2020-2023  润新知