• div在浏览器窗口中居中


    让div相对于浏览器窗口居中。

    方案一:纯粹使用CSS实现

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>测试文件</title>
    <style>
    #test {
        /*准备一个长200px 宽200px的div,背景设置成黄色*/
        width: 200px;
        height: 200px;
        background-color: #FC0;
        /*下面是核心代码*/
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
    </style>
    </head>
    
    <body>
    <div id="test"> </div>
    </body>
    </html>

    上面这套方案是比较完美的方案,即便缩放浏览器窗口也能保证div居中。

    方案二:利用Javascript实现

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>测试文件</title>
    <style>
    #test {
        width:200px;
        height:200px;
        background-color:#FC0;
        position:fixed;
    }
    </style>
    <script>
    window.onload = function(){
        var screen_width = window.screen.availWidth; //获取屏幕宽度
        var screen_height = window.screen.availHeight; //获取屏幕高度
        var X = (screen_width - 200)/2;
        var Y = (screen_height - 200)/2;
        var div = document.getElementById("test");
        div.style.left=X + "px";
        div.style.top=Y + "px";
    };
    </script>
    </head>
    
    <body>
    <div id="test"></div>
    </body>
    </html>

    几个关键点说明下:

    position:fixed 决定div是相对于浏览器窗口居中,而不是相对于一般意义上的父窗口居中。

    必须使用window.onload保证在DOM加载完毕后才执行js,<script>标签的defer属性理论上也能实现此效果,但defer属性只有IE浏览器支持,而且,我用了下,没效果。

  • 相关阅读:
    解决bash: less: command not found
    IDEA-相关插件使用
    如何理解多租户架构?
    mybatis自动生成model、dao及对应的mapper.xml文件
    IDEA设置提示生成序列化ID
    [DUBBO] qos-server can not bind localhost:22222错误解决
    @NotNull,@NotEmpty,@NotBlank区别
    (三)IDEA使用,功能面板
    PHP实现自己活了多少岁
    使用PHP函数输出前一天的时间和后一天的时间
  • 原文地址:https://www.cnblogs.com/dige1993/p/4605612.html
Copyright © 2020-2023  润新知