20180522

页面修改

  • 修改客户端,花了大半个小时的时间。是关于如何设置定位的问题。本来做了一个100vw,100vh的蒙层,里面放了一个弹框,之前想的是都用绝对定位,也照做了。所以弹框的定位就是top:36%;left:36%;这样,在我自己的一个屏幕上看起来就居中了,但是细心的同学可能会发现,这有一个非常大的问题,那就是如果屏幕一换,这个弹框就立刻会出现偏移。怎么解决这个问题呢?
  • 我想到的是,第一,把弹框的宽度设置成百分比宽度,这样的话left我也就能算出一个固定的百分比来,能实现居中。但是呢,如果这样做就会有另一个问题出现,对应父元素如果过宽或者过窄,弹款就会变得特别大或者特别小,这时候设计就会跳出来找你毛病了。
  • 这时候我想到了第二个解决方案,蒙层和弹框都用相对定位,然后弹框用margin:0 auto;top设置成百分比的值就可以了。代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    <!DOCTYPE html>
    <html lang="zh">
    <head>
    <meta charset="UTF-8">
    <title>看一下就可以了哈</title>
    <link rel="shortcut icon" href="./favicon.ico" id="shortcut" />
    <link rel="bookmark" href="./favicon.ico" id="bookmark" />
    <style>
    body{
    overflow:hidden;
    margin:0;
    padding:0;
    }
    iframe{
    display:block;
    width:100vw;
    height:100vh;
    overflow:hidden;
    }
    .layer{
    display:none;
    width:100vw;
    height:100vh;
    position:absolute;
    top:0;
    left:0;
    background:rgba(0,0,0,1);
    z-index:99;
    margin:0 auto;

    }
    #confirBox{
    display:none;
    z-index: 200;
    position:relative;
    border:solid #2a2a2a 1px;
    width:400px;
    height:200px;
    background:#2a2a2a;
    color:#fff;
    border-radius:10px;
    padding:0 40px 20px;
    margin:0 auto;
    top:36%;
    }
    #confirBox h3{
    text-align: center;
    }
    #confirBox .title{
    margin-top:20px;
    }
    #confirBox .choiceButton{
    position:absolute;
    bottom:40px;
    }
    #confirBox .choiceButton span{
    border-radius: 26px;
    padding-right: 15px;
    padding-left: 15px;
    color: #ffffff !important;
    background-color: #e74478;
    border-color: #e74478;
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    width:80px;
    margin-right:20px;
    }
    </style>
    <script>
    var device = 'client'
    </script>
    </head>
    <body>
    <iframe id="containIframe" src="http://www.baidu.com"></iframe>
    <div id="layer" class="layer">
    <div id="confirBox">
    <h3>提示信息</h3>
    <div class="title">请选择您要进行的操作:</div>
    <div class="choiceButton">
    <span onclick="back()">返回</span>
    <span onclick="refresh()">刷新</span>
    <span onclick="logout()">退出</span>
    </div>
    </div>
    </div>
    <script>
    window.resizeTo(window.screen.width, window.screen.height);
    chrome.fontSettings.setMinimumFontSize({pixelSize: 10});
    nw.Window.get().on('close', function() {
    document.getElementById('confirBox').style.display = "block"
    document.getElementById('layer').style.display = "block"
    //var r=confirm("确定要退出吗?");
    //if( r == true){
    //localStorage.clear()
    // nw.App.closeAllWindows();
    //nw.App.quit();
    //}
    });
    function back(){
    document.getElementById('confirBox').style.display = "none"
    document.getElementById('layer').style.display = "none"
    }

    function refresh(){
    let gui = require('nw.gui');
    gui.App.clearCache();
    window.location.reload(true)
    document.getElementById('confirBox').style.display = "none"
    document.getElementById('layer').style.display = "none"
    }
    function logout () {
    nw.App.closeAllWindows();
    nw.App.quit();
    }
    </script>
    </body>
    </html>
  • 这个项目,没什么技术难点,主要就是基础的掌握和活用。作为一个半路出家的程序猿,深感基础之重要。如果有前端新人或者想学前端的人看到这个文章,强烈建议你先去把html,css,js基础学扎实了,再去学各种框架。

    需求介绍会议

    有新的需求,需要在原版的基础上做一个项目。嗯。这个改其实比重新写麻烦,我觉的。

    看设计书籍

    对齐,间距真的很重要。重新把自己的办公桌整理了一下,看起来整齐多了,下一步的计划就是整理自己的形象。