图片按宽高比1:1响应,窗口大小如何变化,图片宽高始终相等

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="renderer" content="webkit">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
        <!--user-scalable=no禁止缩放-->
        <title></title>
        <!--[if lt IE 9]>
          <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
          <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            body,html{
                background: #f2f2f2;
            }
            .full-container{
                padding: 15px;
            }
            .panel-card{
                height: 400px;
                background: #FFFFFF;
            }
            .clearfix:after{
                clear: both;
            }
            .clearfix:after,.clearfix:before{
                display: table;
                content: ‘‘;
            }
            .layui-row:after,.layui-row:before {
                content: ‘‘;
                display: block;
                clear: both
            }
            .img-responsive{
                display: block;                width: 100%;                height: 100%;       }
            .img-item{
                float: left;
                box-sizing: border-box;
                display: none;
            }
            .pad15>*{
                padding: 7.5px;
            }
            .img-info{
                height: 100%;
            }
        </style>
    </head>
    <body>
        <div class="full-container">
            <div class="panel-card">
                <div class="img-list clearfix pad15">
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                </div>
                <div class="img-list clearfix pad15">
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                    <div class="img-item">
                        <div class="img-info">
                            <img src="img/natural1.jpg" class="img-responsive"/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <script type="text/javascript" src="js/jquery-2.1.1.min.js" ></script>
        <script>

            /**
             * 监听窗口大小变化事件
             */
            var winResize = function (callback) {
                $(window).on(‘resize‘,function () {
                    callback();
                });
            };
            winResize(function(){
                var imgListWidth = $(".img-list").width()
                var size = 6;//一行图片数
                $(".img-item").css({"width":parseInt(imgListWidth/size)+"px","height":parseInt(imgListWidth/size)+"px"})
                if(!$(".img-item").is(":visible")){
                    $(".img-item").show();
                }
            })

            window.onload = function(){
                 var myEvent = new Event(‘resize‘);
                window.dispatchEvent(myEvent);
            }
        </script>
    </body>
</html>

原文地址:https://www.cnblogs.com/littleboyck/p/11821790.html

时间: 2024-11-06 11:44:03

图片按宽高比1:1响应,窗口大小如何变化,图片宽高始终相等的相关文章

加载的过程中图片变形了? --教你自定义自动适配图片宽高比的RatioLayout

很多同行在开发中可能会遇到这样的问题,就是在加载图片的时候会出现图片变形的问题.其实这很可能就是你的图片宽高比和图片所在容器的宽高比不匹配造成的.比如说图片的宽为200,高为100.宽高比就是2,那么这时候把它放在宽高比为1或者3的控件上就会分别出现变窄和变宽的问题.只有在容器宽高比为2的时候图片才会和原始显示效果一样.怎样解决这个问题呢?这个时候就可以创建一个能够自适应图片宽高比的父容器来包裹ImageView就可以了.在使用RatioLayout的时候要注意以下几点: 1)ImageView

巧用padding让图片宽高比固定并自适应布局

1.从上图知道原始图片大小是 800 * 250,即宽高比为 3.2: 2.html 及 css 代码如下, 可以知道就只是在一个div里面放了一张图片,那么如何让这张图片的宽高比固定呢,看了css之后就知道了原来是神奇的padding帮了我们的忙. 3.当img的宽度为100%时,那么.banner的padding-bottom(padding-top也可以)的值为 100%(图片想要设置的宽度) / 3.2(图片的原始宽高比)= 31.25%: (如果你想把 img 的宽度设为50%的话,那

AspectRatio图片的宽高比、Card 卡片组件

一.AspectRatio 组件 AspectRatio 的作用是根据设置调整子元素 child 的宽高比. AspectRatio 首先会在布局限制条件允许的范围内尽可能的扩展,widget 的高度是由宽度和比率决定的,类似于 BoxFit 中的 contain,按照固定比率去尽量占满区域.如果在满足所有限制条件过后无法找到一个可行的尺寸,AspectRatio 最终将会去优先适应布局限制条件,而忽略所设置的比率. aspectRatio   宽高比,最终可能不会根据这个值去布局,具体则要看综

html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计

序:通常我们只能控制div的宽度 而不能控制高度,在响应式页面里 如果要这个div是正方形那么必须的用媒体查询在不同的分辨率下写死款高度 今天突发奇想研究了个 用百分比来动态控制div的高度让其与宽度相同 成为一个正方形 甚至任何你想要比例 一,背景:目前移动端大多数图片或视频列表页面的显示,列出几个 可以看出这几个页面都有一个共同点 都有图片 双列 列表单个模块的高度相同  我演技劜他们的源码 都是讲图片设置为固定高度 然后将li撑开 li的宽度设置为50% 然后floatleft 然后用媒体

响应式Web之图片的缩放

其实对响应式网页有种片面的误解:页面元素不固定宽度,按百分比自动缩放,来实现不同尺寸视口的统一展示:响应式网页嘛,顾名思义,就是这种理解.其实响应式Web开发属于HTML5,并且是专门用来适配不同终端的,而且是根据终端类型来适配不同的功能模块和表现样式的,所以上面的理解是片面的:因为忽略了适配不同的功能模块,当然这样也就无形的增加了原本页面的复杂性,可能你为了适应3大终端,而必须得设计三套PSD,写三套样式表,还有额外的交互体验,但这是值得的,这样一来,你的应用在各种终端下都能完美展示,并且不失

Android OpenGL ES(四)----调整屏幕的宽高比

1.宽高比问题 我们现在相当熟悉这样一个事实,在OpenGL里,我们要渲染的一切物体都要映射到X轴和Y轴上[-1,1]的范围内,对于Z轴也一样.这个范围内的坐标被称为归一化设备坐标,其独立于屏幕实际尺寸或形状. 不幸的是,因为它们独立于实际的屏幕尺寸,如果直接使用它们,我们就会遇到问题,例如在横屏模式下被压扁的桌子. 假设实际的设备分辨率以像素为单位是1280*720,这在新的Android设备上是一个常用的分辨率.为了使讨论更加容易,让我们也暂时假定OpenGL占用整个显示屏. 如果设备是在竖

使用css让动态容器按固定宽高比显示

需求:页面上有一个div的宽度是随着屏幕宽度的改变而改变的,但其宽高比始终是2:1,也就是当宽度是1000px时,高度为500px 分析:无论浏览器窗口如何改变,始终要让目标元素的宽高比保持2:1,我们第一个想到的可能是使用js来实现,但是使用js来实现往往会比较耗费性能,那么今天我们就来讲下使用css来完成这个需求. 实现:作为"码农"我们还是直接上代码来得直观一点! html: <body> <div class="container">

c# winform DirectX播放器 可以任意设置宽高比 屏幕拉伸

第一步:dll引用 Microsoft.DirectX.dll Microsoft.DirectX.AudioVideoPlayback.dll 如果没有的话,可能需要安装微软的DRECTX JDK directx支持的视频文件格式: (*.avi; *.mov; *.mpg; *.mpeg; *.ts; *.wmv; *.vob; *.dat; *.rm; *.rmvb; *.flv)|*.avi; *.mov; *.mpg; *.mpeg; *.ts; *.wmv; *.vob; *.dat

get新技能: 如何设置元素高度与宽度成特定比例。宽度改变,高度自动按比例改变。 例如设置宽高比16:9。

设置宽高比在很多时候是有用的. 下面的栗子,我们设置一个容器的宽高比为16:9 //HTML代码片段 <div class="container"> <div class="wrapper"> <div class="content">content</div> </div> </div> //css 代码 div{ border: 1px solid green; } .c