设置一行展示1张、2张,3张或者4张图片

本文介绍了一种实现图片自适应浏览器窗口大小变化的方法,确保图片在不同屏幕尺寸下均能保持等比例缩放而不失真。通过HTML和CSS代码示例展示了如何针对不同数量的图片进行布局调整。

话不多说,先看看效果
这里写图片描述
第一张展示的是一张图,其他的以此展示多张图(如需要加padding,自行加载就可以了),这种写法保证了图片的等比例缩放,及时浏览器页面大小发生变化,图片也不会发生 变形!!!

接下来上代码啦:

HTML

<div class="pics6">
            <div class="pics6_status1">
                <img class="status1-pic" src="http://img.mengdian.com/image/31/c9/47/6f/20170329/22bc0f13e260110192727ab3615cbbaa.png?x-oss-process=image/quality,q_80&amp;mdw=750&amp;mdh=340">
            </div>
            <div id="status2_pics">
                <ul class="pics6_status2">
                    <li>
                        <img class="status2-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                    <li>
                        <img class="status2-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                </ul>
            </div>
            <div id="status3_pics">
                <ul class="pics6_status3">
                    <li>
                        <img class="status3-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                    <li>
                        <img class="status3-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                    <li>
                        <img class="status3-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                </ul>
            </div>
            <div id="status4_pics">
                <ul class="pics6_status4">
                    <li>
                        <img class="status4-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                    <li>
                        <img class="status4-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                    <li>
                        <img class="status4-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                    <li>
                        <img class="status4-pic" src="http://shopimg.weimob.com/100507453/Goods/1701191815042349.png">
                        <div>11111</div>
                        <div>22222</div>
                    </li>
                </ul>
            </div>
        </div>

CSS

.pics6 .pics6_status1  .status1-pic{
    width: 100%;
    height: auto;
}
.pics6 .pics6_status2,.pics6 .pics6_status3,.pics6 .pics6_status4{
    display: flex;
    display: -webkit-flex;
}
.pics6 .pics6_status2 li{
    width: 50%;
    height: 100%;
    text-align: center;
}
.pics6 .pics6_status2 li .status2-pic,.pics6 .pics6_status3 li .status3-pic,.pics6 .pics6_status4 li .status4-pic{
    width: 100%;
    height: 100%;
}
.pics6 .pics6_status3 li{
    width: 33.333%;
    height: 100%;
    text-align: center;
}
.pics6 .pics6_status4 li{
    width: 25%;
    height: 100%;
    text-align: center;
}

上面带代码可以直接复制使用,简单明了!

HTML和CSS中,你可以通过创建一个响应式的网格布局来实现四张图片一行显示并支持点击放大效果。这通常涉及到以下几个步骤: 1. **创建HTML结构**: ```html <div class="grid-container"> <img src="image1.jpg" class="grid-item" data-zoom-image="image1_large.jpg"> <img src="image2.jpg" class="grid-item" data-zoom-image="image2_large.jpg"> <img src="image3.jpg" class="grid-item" data-zoom-image="image3_large.jpg"> <img src="image4.jpg" class="grid-item" data-zoom-image="image4_large.jpg"> </div> ``` 使用`<img>`标签,每个图片都有一个`data-zoom-image`属性,用于存储大图地址。 2. **样式设置** (CSS): ```css .grid-container { display: grid; grid-template-columns: repeat(4, 1fr); /* 四列 */ gap: 10px; /* 图片之间的间距 */ max-width: 100%; /* 自适应屏幕宽度 */ overflow-x: auto; /* 当有多行时显示滚动条 */ } .grid-item { cursor: pointer; /* 点击缩放提示 */ width: 100%; height: auto; /* 保持原始比例 */ transition: transform 0.5s ease; /* 缩放过渡效果 */ } .grid-item:hover { transform: scale(1.1); /* 鼠标悬停时放大 */ } ``` 3. **JavaScript实现放大功能**: 为了实现点击放大,你需要编写一些JavaScript来处理事件。比如,你可以使用jQuery库配合Zoom.js等插件,或者自定义一个简单的函数来放大图片: ```javascript $(document).ready(function() { $(&#39;.grid-item&#39;).click(function(e) { e.preventDefault(); // 阻止默认行为 var $this = $(this); var largeImage = $this.attr(&#39;data-zoom-image&#39;); // 创建一个新的隐藏元素加载大图 var zoomedImage = $(&#39;<img>&#39;, {src: largeImage}); // 显示大图 $zoomed = zoomedImage.load(function() { $this.replaceWith($zoomed); // 替换原图 $zoomed.css({ position: &#39;absolute&#39;, top: 0, left: 0, maxWidth: &#39;100%&#39;, maxHeight: &#39;100%&#39; }); }); }); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值