移动开发常见问题

去除图片下边的空白间隙

元素宽高等比缩放

百分比实现

aspect-ratio实现

css 复制代码
.aspect-16-9 {
	width: 100%; /* 可改为固定值 */
	aspect-ratio: 16 / 9;
}

.aspect-1-1 {
    width: 200px;
    aspect-ratio: 1;
    object-fit: cover;
}
html 复制代码
<div class="aspect-16-9"></div>
<img src="image.jpg" class="aspect-1-1" alt="正方形图片">

背景图等比缩放

2倍精灵图

精灵图采用的是2倍图

所以在处理精灵图时,我们需要通过background-size来将背景图片大小缩小一半

测量尺寸时,也需要按一半的大小来测量

1px问题

各方案优缺点对比

方案 优点 缺点
伪元素+transform 兼容性好,实现简单 需要为每个边框单独处理
媒体查询 精确适配不同dpr 代码量较大
viewport缩放 实现简单 影响整个页面布局
SVG 精确控制 兼容性问题
box-shadow 实现简单 兼容性较差
border-image 可复用 图片资源维护成本高
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            height: 300px;
            position: relative;
        }

        .box::after {
            position: absolute;
            content: "";
            height: 1px;
            width: 100%;
            background-color: red;
            left: 0;
            bottom: 0;
        }

        @media screen and (-webkit-min-device-pixel-ratio: 2) {
            .box::after {
                transform: scaleY(0.5);
            }
        }

        @media screen and (-webkit-min-device-pixel-ratio: 3) {
            .box::after {
                transform: scaleY(0.33);
            }
        }
    </style>
</head>

<body>
    <div class="box"></div>
</body>

</html>
相关推荐
saber_andlibert4 小时前
TCMalloc底层实现
java·前端·网络
逍遥德4 小时前
如何学编程之01.理论篇.如何通过阅读代码来提高自己的编程能力?
前端·后端·程序人生·重构·软件构建·代码规范
冻感糕人~4 小时前
【珍藏必备】ReAct框架实战指南:从零开始构建AI智能体,让大模型学会思考与行动
java·前端·人工智能·react.js·大模型·就业·大模型学习
程序员agions4 小时前
2026年,“配置工程师“终于死绝了
前端·程序人生
alice--小文子4 小时前
cursor-mcp工具使用
java·服务器·前端
晚霞的不甘4 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
小迷糊的学习记录4 小时前
0.1 + 0.2 不等于 0.3
前端·javascript·面试
梦帮科技5 小时前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
VT.馒头5 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
css趣多多6 小时前
一个UI内置组件el-scrollbar
前端·javascript·vue.js