网页制作 
首页 > 网页制作 > 浏览文章

如何让一个div居于页面正中间【实现方法】

(编辑:jimmy 日期: 2024/12/24 浏览:3 次 )

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

JavaScript Code复制内容到剪贴板
  1. <!DOCTYPE html>   
  2. <html lang="en">   
  3. <head>   
  4.     <meta charset="UTF-8">   
  5.     <title>div居于页面正中间</title>   
  6.     <style type="text/css">   
  7.         *{   
  8.             margin: 0;   
  9.             padding: 0;   
  10.             background-color: #EAEAEA;   
  11.         }   
  12.         div{   
  13.             width: 200px;   
  14.             height: 200px;   
  15.             background-color: #1E90FF;   
  16.         }   
  17.         .center-in-center{   
  18.             position: absolute;   
  19.             top: 50%;   
  20.             left: 50%;   
  21.         }   
  22.     </style>   
  23. </head>   
  24. <body>   
  25.     <div class="center-in-center"></div>   
  26. </body>   
  27. </html>  

如何让一个div居于页面正中间【实现方法】

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

JavaScript Code复制内容到剪贴板
  1. .center-in-center{   
  2.     position: absolute;   
  3.     top: 50%;   
  4.     left: 50%;   
  5.     transform: translate(0, -50%);   
  6. }  

如何让一个div居于页面正中间【实现方法】

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

附上完整代码与效果:

JavaScript Code复制内容到剪贴板
  1. <!DOCTYPE html>   
  2. <html lang="en">   
  3. <head>   
  4.     <meta charset="UTF-8">   
  5.     <title>div居于页面正中间</title>   
  6.     <style type="text/css">   
  7.         *{   
  8.             margin: 0;   
  9.             padding: 0;   
  10.             background-color: #EAEAEA;   
  11.         }   
  12.         div{   
  13.             width: 200px;   
  14.             height: 200px;   
  15.             background-color: #1E90FF;   
  16.         }   
  17.         .center-in-center{   
  18.             position: absolute;   
  19.             top: 50%;   
  20.             left: 50%;   
  21.             -webkit-transform: translate(-50%, -50%);   
  22.             -moz-transform: translate(-50%, -50%);   
  23.             -ms-transform: translate(-50%, -50%);   
  24.             -o-transform: translate(-50%, -50%);   
  25.             transform: translate(-50%, -50%);   
  26.         }   
  27.     </style>   
  28. </head>   
  29. <body>   
  30.     <div class="center-in-center"></div>   
  31. </body>   
  32. </html>  

如何让一个div居于页面正中间【实现方法】

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

以上这篇如何让一个div居于页面正中间【实现方法】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:H1标签使用的七大注意事项(推荐)
下一篇:CSS border虚线边框属性教程
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?