当前位置:  开发笔记 > 编程语言 > 正文

使用CSS在视口中垂直居中

如何解决《使用CSS在视口中垂直居中》经验,为你挑选了1个好方法。

我希望

在视口(浏览器窗口)中垂直居中,而不需要使用Javascript(仅限纯HTML和CSS).我有几个限制:

div必须垂直于视口的中心. 方法我看到只支持在另一个内部支持

,这不是我想要的.

高度div不详.

其他限制:

div必须靠右对齐.

div具有恒定的宽度.

div必须支持填充.

其他元素将放在网页上.该div充当菜单.

div必须支持背景颜色/图像.

这让我接近我想要的,但不完全是:

#nav {
    position: fixed;
    right: 0;
    top: 50%;
}

但是,导航的顶部位于导航的中间,而不是导航的中间.

是否有一些技术可以让我以div这些约束为中心?



1> Matheus Avel..:

那是什么?用了8年才能得到问题的答案太多了?

好吧,迟到总比没有好!

真的很接近解决方案.我这样做transform: translate():

#nav {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

根据我可以使用吗?除了IE8和Opera Mini之外的所有东西都支持它(老实说,这是一个非常好的支持).

我建议你过度使用它,只需添加所有供应商前缀(只是为了确保!):

#nav {
    position: fixed;
    right: 0;
    top: 50%;

    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}

这是一个片段,向您展示:

#nav {
    right: 0;
    top: 50%;
    position: fixed;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);

    background-color: #ccc;
    padding: 20px;
}
推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有