设置元素水平、垂直居中的两种方式

2018-06-24 01:57:31来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  做一个水平和垂直居中的模态弹框这么一个小需求,对于我们这些前端来说,应该是常事。

  在css3出来以前,我们要想让元素既水平居中又要垂直居中只有一个办法(我能想到的),就是通过js计算,把它们定位到屏幕中间位置。这方法比较笨,也麻烦。

 

  下面两种方式,可以让元素快速定位到屏幕中间。 

  flex布局

 1 <style>
 2     .flex-mask {
 3         display: flex;
 4         position: fixed;
 5         z-index: 1;
 6         top: 0;
 7         left: 0;
 8         bottom: 0;
 9         right: 0;
10         align-items: center;  // 垂直居中
11         justify-content: center;  // 水平居中
12         background: rgba(0,0,0,.5);
13     }
14     .flex-box {
15         width: 500px;
16         height: 300px;
17         background-color: #fff;
18         border-radius: 10px;
19     }
20 </style>
21 
22 <!-- 元素 -->
23 <div class="flex-mask">
24     <div class="flex-box"></div>
25 </div>

 

 

  使用translate

 1 <style>
 2     .transform-box {
 3         position: fixed;
 4         z-index: 2;
 5         top: 50%;
 6         left: 50%;
 7         width: 300px;
 8         height: 150px;
 9         background-color: red;
10         border-radius: 10px;
11         transform: translate(-50%, -50%);
12     }
13 </style>
14 
15 <div class="transform-box"></div>

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:box-shadow的应用技巧

下一篇:bootstrap模态框嵌套、tabindex属性、去除阴影