美文网首页
如何将窗口定位到页面中间

如何将窗口定位到页面中间

作者: ShindouHiro | 来源:发表于2016-10-28 11:09 被阅读630次

如何让一个div居于页面中间,我今天说的是让一个div水平居中同时垂直居中,而不是简单的top:50%,left:50%。当然,我们就按一开始的思路写一下:top,left属性都设为50%,看一下效果。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>div居于页面正中间</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
            background-color: #EAEAEA;
        }
        div{
            width: 200px;
            height: 200px;
            background-color: #1E90FF;
        }
        .center-in-center{
            position: absolute;
            top: 50%;
            left: 50%;
        }
    </style>
</head>
<body>
    <div class="center-in-center"></div>
</body>
</html>
Paste_Image.png

从我的截图可以看出,div的左顶点刚好在页面的中心点处。现在的思路是,如何移动div然后让div的中心和页面中心重合,即可达到我们一开始想要的结果。在这里我要介绍一种方法,使用css的transform属性。由于这个属性的值很多,我这里就不一一介绍,只是说一下它的translate。我们给刚才的center-in-center类加上translate(0,-50%)

.center-in-center{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(0, -50%);
}
Paste_Image.png

如果使用过这个属性,应该知道怎么回事了。translate(0, -50%),第一个值是指水平移动量,和tansform的translateX效果一样,第二个值那就是垂直方向偏移量,但为负数时,代表反方向移动。现在我们只需tanslate(-50%,-50%)就可以达到div既水平居中同时垂直居中。
附上完整代码与效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>div居于页面正中间</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
            background-color: #EAEAEA;
        }
        div{
            width: 200px;
            height: 200px;
            background-color: #1E90FF;
        }
        .center-in-center{
            position: absolute;
            top: 50%;
            left: 50%;
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
        }
    </style>
</head>
<body>
    <div class="center-in-center"></div>
</body>
</html>
Paste_Image.png

说多两句,这也可以是一道非常不错的面试题,大家可以留意一下。当然还有其他解法,这里就不再班门弄斧了。另外,css3的transform是一个非常强大的属性,可以做很多变换3d之类的炫酷效果,如果有兴趣可以深入研究一下。但前端有一个不得不说的痛,浏览器兼容性问题。。。其他的浏览器还好说,万恶的IE,IE9支持一小部分属性,IE9以下全部不支持。如果还深爱着IE,那只能另辟蹊径,甚至不惜用js去解决咯!又快到周末了,又可以好好睡觉了,真好!

相关文章

  • 如何将窗口定位到页面中间

    如何让一个div居于页面中间,我今天说的是让一个div水平居中同时垂直居中,而不是简单的top:50%,left:...

  • CSS固定定位生成网页顶部导航栏实例

    固定定位 position:fixed 固定定位是相对与浏览器窗口来定位, 就算页面滚动, 固定定位元素的位置不会...

  • css定位

    固定定位(position:fixed); 相对于浏览器的窗口定位: 不会随着页面的滚动,而变化位置 相对定位(p...

  • 二十六,固定定位

    固定定位:现对于浏览器窗口进行定位 ( 固定元素不会随,页面翻滚而滚动 )代码-->position:fixed;

  • 6:多窗口

    点击一个页面一个按钮后有时候会打开一个新的窗口这个时候,我们就要定位到新的窗口里 win1=driver.curr...

  • HTML 框架

    通过使用框架,可以在同一个浏览器窗口中显示不止一个页面。 框架结构标签 定义如何将窗口分割为...

  • 定位到页面顶端

    onUpdate used to scroll to top of the page

  • bug定位

    测试人员如何定位bug 定位问题大致思路:用户层面问题-->web页面/软件界面-->中间件-->后端服务-->代...

  • H5学习从0到1-H5的框架(13)

    H5框架语法介绍 :frame:框架对于页面的设计有很大的作用 frameSet:框架集标签定义如何将窗口分割为框...

  • ideal

    快捷键作用ctr+Home定位到当前页面最开始ctr+end定位到当前页最后home定位到当前行首end定位到当前...

网友评论

      本文标题:如何将窗口定位到页面中间

      本文链接:https://www.haomeiwen.com/subject/uiteuttx.html