uni-app项目H5端在PC浏览器保持固定手机尺寸居中显示

发布于 1周前 作者 itying888 来自 Uni-App

uni-app项目H5端在PC浏览器保持固定手机尺寸居中显示

有没有好的解决办法呢

2 回复

为了在PC浏览器上让uni-app项目的H5端保持固定手机尺寸并居中显示,可以通过CSS媒体查询和视口(viewport)设置来实现。以下是一个基本的实现方案,包含HTML和CSS代码示例。

HTML部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    <title>uni-app H5 on PC</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="container">
        <div class="fixed-size">
            <!-- 这里是uni-app编译后的H5内容 -->
            <iframe id="uni-app-frame" src="path/to/your/uni-app/index.html" frameborder="0"></iframe>
        </div>
    </div>
</body>
</html>

CSS部分(styles.css)

/* 全局样式重置 */
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* 固定尺寸的容器 */
.container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 固定手机屏幕尺寸的盒子 */
.fixed-size {
    width: 375px; /* 假设手机宽度为375px,可以根据需求调整 */
    height: 667px; /* 假设手机高度为667px,可以根据需求调整 */
    border: 1px solid #ccc; /* 可选,用于显示边框 */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* 可选,用于显示阴影 */
    overflow: hidden; /* 防止内容溢出 */
    position: relative;
}

/* iframe样式,用于加载uni-app */
#uni-app-frame {
    width: 100%;
    height: 100%;
    border: none;
}

/* 响应式调整,确保在移动设备上不出现问题 */
@media (max-width: 375px) {
    .fixed-size {
        width: 100%;
        height: auto; /* 按比例调整高度 */
    }
}

@media (max-height: 667px) {
    .fixed-size {
        height: 100%;
        width: auto; /* 按比例调整宽度 */
    }
}

解释

  1. 视口设置:在<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">中,我们禁用了用户缩放,并确保视口宽度等于设备宽度。
  2. 容器设置:使用CSS Flexbox布局将内容在屏幕中居中显示。
  3. 固定尺寸.fixed-size类用于设置固定尺寸,这里假设手机宽度为375px,高度为667px,你可以根据实际需求调整。
  4. iframe:用于加载uni-app编译后的H5内容,确保iframe填满固定尺寸的盒子。
  5. 响应式调整:通过媒体查询,确保在移动设备上不出现问题。

通过这种方式,你可以在PC浏览器上实现uni-app项目的H5端保持固定手机尺寸并居中显示。

回到顶部