zoukankan      html  css  js  c++  java
  • 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浏览器支持,而且,我用了下,没效果。

  • 相关阅读:
    使用NoSQL Manager for MongoDBclient连接mongodb
    Shell编程(二)条件控制,流程控制及循环控制
    Shell编程(一)参数引用,特殊字符及常用的操作符
    日常使用的linux总结记录--不断更新中
    oracle数据库中的连表查询
    前端css样式2
    前端css样式
    前端基础知识
    mysql执行计划, 事务处理
    sql 索引优化
  • 原文地址:https://www.cnblogs.com/dige1993/p/4605612.html
Copyright © 2011-2022 走看看