低分辨率兼容方案

响应式设计

响应式设计可以通过 CSS 的媒体查询,根据不同的屏幕尺寸调整布局和样式。可以为不同的分辨率定义不同的样式

/* 针对1080p及以上的屏幕 */
@media (min-width: 1080px) {
    body {
        font-size: 16px;
    }
    /* 其他适用于1080p的样式 */
}

/* 针对768p屏幕 */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }
    .container {
        width: 100%; /* 将容器设置为占满屏幕宽度 */
        padding: 10px;
    }
    /* 根据需要调整布局 */
}

通过媒体查询可以为不同屏幕宽度设置合适的字体大小、布局和图片尺寸。

弹性布局

使用 flexbox 或 grid 这样的弹性布局,可以让页面元素根据屏幕大小自适应布局。

.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.item {
    flex: 1 1 300px; /* 每个元素至少占据300px宽度,随屏幕变动 */
    margin: 10px;
}

相对单位

避免使用固定的 px,改用相对单位如百分比(%)、vw、vh、rem,这些单位可以根据屏幕大小自适应。

.container {
    width: 80%; /* 使用百分比代替固定宽度 */
    padding: 2rem; /* 使用 rem 相对字体大小 */
}

img {
    max-width: 100%; /* 图片宽度最大为父容器的100% */
    height: auto; /* 保持图片比例 */
}

视口元标签

这个标签会根据设备屏幕宽度调整页面的缩放和布局。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

调整图片和字体大小

在低分辨率的屏幕上,可以通过媒体查询来缩小图片和字体大小,以免内容溢出屏幕或变得难以阅读

@media (max-width: 768px) {
    img {
        width: 100%; /* 图片占满屏幕宽度 */
        height: auto; /* 保持比例 */
    }

    body {
        font-size: 14px; /* 字体适当缩小 */
    }
}

不同分辨率不同Demo实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Design Demo</title>
    <style>
        /* 默认样式(适用于大屏幕) */
        body {
            font-size: 16px;
            background-color: #fff;
        }

        .container {
            width: 80%;
            margin: 0 auto;
            padding: 20px;
        }

        h1 {
            font-size: 36px;
        }

        p {
            font-size: 18px;
        }

        img {
            width: 80%;
            height: auto;
        }

        /* 针对小于1K(1920 * 1080)的屏幕 */
        @media (max-width: 1919px) {
            body {
                font-size: 14px;
                color: red;
                background-color: #f0f0f0;
            }

            .container {
                width: 95%;
                padding: 10px;
            }

            h1 {
                font-size: 24px;
            }

            p {
                font-size: 14px;
            }

            img {
                width: 100%;
                height: auto;
            }
        }
    </style>
    <script>
        // 打印浏览器视窗的宽度和高度
        function printViewportSize() {
            var width = window.innerWidth;
            var height = window.innerHeight;
            document.getElementById('viewport-size').innerHTML = '视窗宽度: ' + width + 'px, 视窗高度: ' + height + 'px';
        }

        // 页面加载时打印视窗大小
        window.onload = printViewportSize;

        // 当视窗大小改变时重新打印视窗大小
        window.onresize = printViewportSize;
    </script>
</head>
<body>
    <div class="container">
        <h1>响应式设计示例</h1>
        <p>这个页面会根据屏幕分辨率调整布局和字体大小。</p>
        <p id="viewport-size"></p> <!-- 用于显示浏览器视窗大小 -->
        <img src="https://via.placeholder.com/1920x1080" alt="Sample Image">
    </div>
</body>
</html>

如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~

兼容低分辨率优化布局和样式_响应式设计