zoukankan      html  css  js  c++  java
  • 使用CSS让网页自适配手机端

    博客在手机打开一直不能适配,手机上访问的体验很不好。今天把博客的大部分页面都加了自适配手机端,只要修改每个页面的css 即可。

    之前大概知道怎么去改,但是页面太多实在觉得麻烦,就一直没有去改。当初做博客的时候也没有考虑到手机访问的重要性,所以现在虽然能改,但是也是缝缝补补。 一直想换一套模板的,又觉得要做的实在太多了。不过要想在手机上完美体验还是需要重新做一套前端了,现在先这样用着。

    之前呢,考虑到很多人通过链接在手机上打开了我的博客,为了让他们访问加了个电脑访问的提示。通过js判断是否手机打开,如果是就弹窗提示。

    <script type="text/javascript">
        /* 手机打开提示 */
         var mobileAgent = new Array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");
         var browser = navigator.userAgent.toLowerCase();
         var isMobile = false;
         for (var i = 0; i < mobileAgent.length; i++) {
             if (browser.indexOf(mobileAgent[i]) != -1) {
                 isMobile = true;
                 alert("本博客手机打开不适配,建议使用电脑访问效果最佳!点击确定继续使用手机浏览");
                 break;
             }
         }
    </script>

    效果:

    161611830087300049916.png

    这样肯定是不行的,还是得改css。html+css完全是靠在大学时老师教的那些撑着,一开始觉得完全够用,后面发现很多东西老师没有教过。接触的越多发现要学的就越多,虽然是一个后端开发,但是该学的还是得学。css最烦的就是调来调去还差点的,特别是屏幕宽度,就很无语~

    手机适配的话先加个meta viewport。移动端的布局不同于pc端,首先我们要知道在移动端中,css中的1px并不等于物理上的1px,因为手机屏幕的分辨率已经越来越高,高像素但是屏幕尺寸却没有发生太大变化,那就意味着一个物理像素点实际上塞入了好几个像素。头部加上viewport 并设置一些默认属性。

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

    然后就是css判断了,使用@media来判断屏幕宽度,再调整响应模块的scc。

    /**手机适配**/
    @media only screen and (max- 767px) {
       header{100%}
       .banner{ 100%;height: 100px;}
       .avatar{ 80px;height: 80px;margin: 6px;}
       .avatar a{padding-top: 59px; 80px;height: 80px;background-size: 80px 78px;}
       .avatar a span{margin-top: 0px; padding-top: 0px;  auto;height: auto;}
    .bloglist h3 {margin: 20px 0 10px 10px;}
    .bloglist figure {auto;margin-left: 4px;}
    .bloglist figure img { 90px;height: 60px;}
    .bloglist ul{64%}
    .dateview {100%;padding-left:4px;}
    .dateview span {margin: 0 3px;}
    .weixinnone,.thumbs{display: none}
    .right{ 100%;margin-top: 22px}
    .right ul{64%;margin-left: 22px;}
    .weather{margin: 20px 50px;}
    .bloglinkli{display: block}
    footer{100%}
    }

    参考下面两篇文章

    viewport:viewport 深入理解

    media:CSS3@media查询

    没有适配手机之前的效果

    首页:

    161611929784137041587.png

    详情页:

    161612005990519039413.png

    做了适配之后的效果

    首页:

    161612000396423073854.png

    161612003128451034408.png

    详情页:

    161611997542255056654.png

    一个java小菜鸡的进阶之路,我的个人博客:http://www.zjhuiwan.cn 欢迎访问!
  • 相关阅读:
    saxbuilder用法
    【转】开篇python--明白python文件如何组织,理解建立源文件
    [转]linux awk命令详解
    sed 指定行范围匹配(转)
    MySQL Error Code文档手册---摘自MySQL官方网站
    java文件读写操作大全
    详解coredump
    Java中Map根据键值(key)或者值(value)进行排序实现
    java如何对map进行排序详解(map集合的使用)
    遍历Map的四种方法
  • 原文地址:https://www.cnblogs.com/sunonzj/p/14557279.html
Copyright © 2011-2022 走看看