如何让一个div居于页面正中间

2023-12-28 18:18
文章标签 div 页面 居于 正中间

本文主要是介绍如何让一个div居于页面正中间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

怎样让div居于页面正中间

html页面:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>div居于页面正中间</title>
</head>
<body><div class="center-in-center"></div>
</body>
</html>

css样式:
方法1:
原文链接https://www.cnblogs.com/gxsweb/p/5395243.html

<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>

方法2:
原文链接https://www.cnblogs.com/gaotenglong/p/5701434.html

<style>
.center-in-center{position: fixed;top: 0px;left: 0px;right: 0px;bottom: 0px;margin: auto;
}
</style>

详细讲解:

原文连接:https://www.cnblogs.com/wenqiangit/p/10602953.html

  1. 如何让一个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>  

效果图:
在这里插入图片描述
2. 从我的截图可以看出,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%);   
} 

效果图:
在这里插入图片描述
3. 如果使用过这个属性,应该知道怎么回事了。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>  

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

这篇关于如何让一个div居于页面正中间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/546825

相关文章

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

Codeforces Round #240 (Div. 2) E分治算法探究1

Codeforces Round #240 (Div. 2) E  http://codeforces.com/contest/415/problem/E 2^n个数,每次操作将其分成2^q份,对于每一份内部的数进行翻转(逆序),每次操作完后输出操作后新序列的逆序对数。 图一:  划分子问题。 图二: 分而治之,=>  合并 。 图三: 回溯:

Codeforces Round #261 (Div. 2)小记

A  XX注意最后输出满足条件,我也不知道为什么写的这么长。 #define X first#define Y secondvector<pair<int , int> > a ;int can(pair<int , int> c){return -1000 <= c.X && c.X <= 1000&& -1000 <= c.Y && c.Y <= 1000 ;}int m

Codeforces Round #113 (Div. 2) B 判断多边形是否在凸包内

题目点击打开链接 凸多边形A, 多边形B, 判断B是否严格在A内。  注意AB有重点 。  将A,B上的点合在一起求凸包,如果凸包上的点是B的某个点,则B肯定不在A内。 或者说B上的某点在凸包的边上则也说明B不严格在A里面。 这个处理有个巧妙的方法,只需在求凸包的时候, <=  改成< 也就是说凸包一条边上的所有点都重复点都记录在凸包里面了。 另外不能去重点。 int

CSS实现DIV三角形

本文内容收集来自网络 #triangle-up {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid transparent;border-bottom: 100px solid red;} #triangle-down {width: 0;height: 0;bor

Weex入门教程之3,使用 Vue 开发 Weex 页面

环境安装 在这里简略地介绍下,详细看官方教程 Node.js 环境 Node.js官网 通常,安装了 Node.js 环境,npm 包管理工具也随之安装了。因此,直接使用 npm 来安装 weex-toolkit。 npm 是一个 JavaScript 包管理工具,它可以让开发者轻松共享和重用代码。Weex 很多依赖来自社区,同样,Weex 也将很多工具发布到社区方便开发者使用。

ViewPager+fragment实现切换页面(一)

如今的很多应用中都是下面有一排按钮,点击可以切换页面,滑动也可以切换页面。下面就来简单的实现这个功能。 思路 首先肯定是会用到viewpager这个控件,为了能够向下兼容,最好用v4包下的viewpager,Activity要继承FragmentActivity 其次用一个集合来存储所有的fragment页面在设置viewpager的适配器时,把存储fragment页面的list集合传入ada

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数

【鸿蒙HarmonyOS NEXT】页面之间相互传递参数 一、环境说明二、页面之间相互传参 一、环境说明 DevEco Studio 版本: API版本:以12为主 二、页面之间相互传参 说明: 页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页面url找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的url访问不同的页面,包括跳转到U