zoukankan      html  css  js  c++  java
  • PC端页面适应不同的分辨率的方法 (转载)

    原文地址:https://blog.csdn.net/fengzhen8023/article/details/81281117

    上周完成一个PC端的项目,对于我这样的小白来说,这个项目里面最大的问题就是,如何做到让HTML页面适应电脑的不同分辨率。
    通过师傅的指导和自己查阅资料,最终成功适配不同的分辨率,完成了这个项目。
    现在回头再来看这个项目,突然发现适配不同的分辨率真的非常简单。这里总结两种方法,跟大家分享一下。希望可以帮助大家快速完成自己的项目。

    一.根据不同的分辨率,加载不同的CSS样式文件

    这个方法的思路是,分别针对800、1280、1440、1600、1920等分辨率,创建不同的css文件。然后在各种分辨率下,写css样式表。

    可能你会感觉针对一个页面,要写这么多不同的css样式表,这个工作量肯定很大。其实也不尽然,根据我在这个项目中的实践,发现这个工作量其实是比较小的。

    首先,我们在做项目的时候,一般情况下会有一些范围限制,比如这个项目只需要适配1280~1920分辨率即可。而且各个分辨率之间,我们有的时候只是对页面上的元素进行宽高、尺寸、位置等进行调整,整体的一个框架是相似或者说是相同的。

    不仅如此,有的时候项目的要求不高,没有比较1:1高度还原设计稿,那么这个时候,我们在1440分辨率下的样式表,在1280分辨率下也是适用的,这个时候,我们的工作量又进一步减少。

    这个时候,我们可以先完成一个分辨率下的css样式表。然后在这个基础之上,对其他分辨率进行调整即可。这个过程我们只需要调整一些参数即可。

    比如在我的项目里面,这对不同的分辨率,我只做了三个样式表

    这个时候,我们只需要在我们的HTML页面的<head></head>标签中,使用js,根据不同的电脑分辨率,加载不同的css样式表。注意这里的js一定要写在<head></head>标签里面,这样在加载页面内容之前,可以提前把css样式表加载出来

    <script>
        // 分辨率大于等于1680,大部分为1920的情况下,调用此css
        if(window.screen.width >= 1680){
            document.write('<link rel="stylesheet" href="css/index_1920.css">');
        }
        // 分辨率再在1600-1680的情况下,调用此css
        else if(window.screen.width >= 1600){
            document.write('<link rel="stylesheet" href="css/index_1600.css">');
        }
        // 分辨率小于1600的情况下,调用此css
        else{
            document.write('<link rel="stylesheet" href="css/index.css">');
        }
    </script>

    这样的话,就可以根据不同电脑的分辨率,就在不同的css样式表。由此我们便完成了页面使用不同的分辨率。

    二.采用媒体查询

    媒体查询是CSS3的新特性,绝大多数浏览器都可兼容这一特性。这个方法的思路也是根据不同的分辨率,应用不同的css样式。

    如果你对媒体查询不熟悉,可以点击链接进行学习这一新特性。菜鸟教程-CSS3 @media 查询

    这个思路和和方法一差不多,或者说方法一的思路和这个思路差不多,毕竟这也是官方的做法。我们有两种使用媒体查询的方式。

    1.根据不同的分辨率,引入不同的css样式表
    这个方法和方法一相同,也是通过判断电脑的分辨率,来引入相对应的css样式表。

    <!-- 分辨率低于1280,采用test-01.css样式表 -->
    <link rel="stylesheet" media="screen and (max-device-1280px)" href="test-01.css">
    <!-- 分辨率高于1400,采用test-02.css样式表 -->
    <link rel="stylesheet" media="screen and (min-device-1440px)" href="test-02.css">


    2.在同一个css样式表中,根据不同的分辨率,写不同的css样式
    这个方法只有一个css演示表,在这个样式表里面,根据不同的分辨率,写不同的css样式。

    <style media="screen">
        /*分辨率低于1280,采用下面的样式*/
        @media screen and (max-device-1280px){
            div{
                200px;
                height: 200px;
               
            }
        }

        /*分辨率高于1440,采用下面的样式*/
        @media screen and (min-device- 1440px){
            div{
                300px;
                height: 300px;
               
            }
        }
    </style>

    三. 总结
    以上的方法的思路大同小异,根据我自己的经历,给大家提出一些小的建议。

    因为我在公司的电脑的分辨率是1440,所以一开始我实在1440分辨率下写得css样式表,然后在这个基础之上,去调整其他的分辨率。发现根据小分辨率样式去调整大分辨率样式比较简单。当然,也许你喜欢由大到小,这都无所谓,看个人兴趣。

    --------------------- 
    作者:fengzhenzhen8023 
    来源:CSDN 
    原文:https://blog.csdn.net/fengzhen8023/article/details/81281117 

  • 相关阅读:
    【今日CV 视觉论文速览】 19 Nov 2018
    【numpy求和】numpy.sum()求和
    【今日CV 视觉论文速览】16 Nov 2018
    【今日CV 视觉论文速览】15 Nov 2018
    poj 2454 Jersey Politics 随机化
    poj 3318 Matrix Multiplication 随机化算法
    hdu 3400 Line belt 三分法
    poj 3301 Texas Trip 三分法
    poj 2976 Dropping tests 0/1分数规划
    poj 3440 Coin Toss 概率问题
  • 原文地址:https://www.cnblogs.com/500m/p/11264043.html
Copyright © 2011-2022 走看看