按照width:100%设置图片正方形

本文记录了解决列表中图片因尺寸不一导致布局不美观的问题。通过在外层div使用百分比padding技巧,实现响应式正方形图片展示,适用于各种设备。
  • 问题简述
    当列表图片大小不一致会导致布局不美观的情况下,设置图片为正方形
    在这里插入图片描述

  • 尝试过的方法
    1、设置width:100%;height:100%;
    height:100%;不生效,按照width:100%对图片进行缩放
    2、固定width:10px;height:100px;
    对不同设备设配效果不理想
    3、获取设备屏幕大小,js动态设置图片大小
    该过程繁琐,在此处没有必要

  • 最后解决办法
    给图片外面套一层div

    .image{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%; //调整图片比例
    margin-bottom: 5%;
    }
    .image img{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    }

在这里插入图片描述

本篇博客旨在记录了自己在前端编程过程中碰到的一部分问题,如有错误的地方欢迎指正

<table style=" border: 1px solid black; border-collapse: collapse; width: 90mm; height: 50mm; table-layout: fixed; box-sizing: border-box; font-size: 12px;"> <!-- 资产编码行 --> <tr style="border: 1px solid black;"> <td style="border: 1px solid black; padding: 1px; width: 15%;"> 资产编码: </td> <td style="padding: 1px; width: 15%; overflow: hidden; text-overflow: ellipsis;"> $zcbm$ </td> <!-- 关键修改:二维码容器新增尺寸限制和溢出控制 --> <td rowspan="3" style=" border: 1px solid black; vertical-align: middle; text-align: center; width: 65%; padding: 0px; height: 10mm; /* 固定高度 */?      overflow: hidden; /* 防止溢出 [^2] */ "> <div style=" max-width: 100%; max-height: 100%; display: flex; justify-content: center; align-items: center; margin: 0 auto; overflow: hidden; "> #QRCodeImg# </div> </td> </tr> <!-- 后续行保持不变 --> <tr style="border: 1px solid black;"> <td style="border: 1px solid black; padding: 2px; width: 15%;"> 资产名称: </td> <td style="padding: 1px; overflow: hidden; text-overflow: ellipsis; width: 15%;"> $zcmc$ </td> </tr> <tr style="border: 1px solid black;"> <td style="border: 1px solid black; padding: 2px; width: 15%;"> 使用部门: </td> <td style="padding: 2px; overflow: hidden; text-overflow: ellipsis; width: 15%;"> $sybm$ </td> </tr> <tr style="border: 1px solid black;"> <td style="border: 1px solid black; padding: 2px; width: 15%;"> 启用日期: </td> <td style="padding: 2px; overflow: hidden; text-overflow: ellipsis; width: 15%;"> $date$ </td> <td style="visibility: hidden;"></td> </tr> </table>在帮我分配一下宽度大小 不改变原有代码框架
10-10
<table style=" border: 1px solid black; border-collapse: collapse; width: 90mm; height: 50mm; table-layout: fixed; box-sizing: border-box; font-size: 12px;"> <!-- 第一行标题 --> <tr> <td colspan="3" style="padding: 2px; text-align: center; font-weight: bold;"> 资产管理票 </td> </tr> <!-- 资产编码行 --> <tr style="border: 1px solid black;"> <!-- 第一列宽度从10%调整为8.89% --> <td style="border: 1px solid black; padding: 1px; width: 8.89%;"> 资产编码: </td> <!-- 第二列宽度从10%调整为8.89% --> <td style="padding: 1px; width: 8.89%; overflow: hidden; text-overflow: ellipsis;"> $zcbm$ </td> <!-- 二维码列宽度从65.56%调整为71.12% (增加约5mm) --> <td rowspan="3" style=" border: 1px solid black; vertical-align: middle; text-align: center; width: 71.12%; padding: 0px;"> <div style=" max-width: 100%; max-height: 32mm; margin: 0 auto;"> #QRCodeImg# </div> </td> </tr> <!-- 资产名称行 --> <tr style="border: 1px solid black;"> <td style="border: 1px solid black; padding: 2px; width: 8.89%;"> 资产名称: </td> <td style="padding: 1px; overflow: hidden; text-overflow: ellipsis; width: 8.89%;"> $zcmc$ </td> </tr> <!-- 使用部门和日期行 --> <tr style="border: 1px solid black;"> <td style="border: 1px solid black; padding: 2px; width: 8.89%;"> 使用部门: </td> <td style="padding: 2px; overflow: hidden; text-overflow: ellipsis; width: 8.89%;"> $sybm$ </td> </tr> <tr style="border: 1px solid black;"> <td style="border: 1px solid black; padding: 2px; width: 8.89%;"> 启用日期: </td> <td style="padding: 2px; overflow: hidden; text-overflow: ellipsis; width: 8.89%;"> $date$ </td> <td style="visibility: hidden;"></td> </tr> </table>二维码宽度溢出表格了,在原来代码上修改
10-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值