一个完美的令div上下左右垂直居中的方法

网上有许多令一个div上下左右垂直居中的方式,都是大同小异,我最喜欢的是还position+transform样式来实现,下面是代码实例:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>center</title>

</head>

<style>

body {

margin: 0;

padding: 0;

}

#fix-mid {

width: 200px;

height: 200px;

background: red;

position: absolute;

top: 50%;

left: 50%;

opacity: 1;

z-index: 110;

transform: translate(-50%,-50%) scale(1, 1);

animation: g-zoomEnter .2s cubic-bezier(0.18, 0.89, 0.32, 1.28);

}

.fix-bg {

position: fixed;

background: rgba(0, 0, 0, 0.4);

z-index: 10;

top: 0;

bottom: 0;

left: 0;

right: 0;

animation: g-fadeEnter .4s ease;

}

.none {

display: none;

}

/* 背景渐变 */

@keyframes g-fadeEnter {

0% {

opacity: 0;

}

100% {

opacity: 1;

}

}

/* 定宽居中且有小变大 */

@keyframes g-zoomEnter {

0% {

opacity: 0;

transform: translate(-50%,-50%) scale(0, 0);

}

100% {

opacity: 1;

transform: translate(-50%,-50%) scale(1, 1);

}

}

</style>

<body>

<button id="btn">点击弹出居中div</button>

<div class="fix-bg none">

<div id="fix-mid" onclick=" event.stopPropagation()">

1

</div>

</div>

</body>

<script>

var btn = document.getElementById(‘btn‘);

var fixedObj = document.getElementsByClassName(‘fix-bg‘)[0];

var oDiv = document.createElement("div");

btn.onclick = function() {

fixedObj.classList.remove(‘none‘);

}

fixedObj.onclick = function(e) {

fixedObj.classList.add(‘none‘);

}

</script>

</html>

时间: 2024-10-10 00:19:05

一个完美的令div上下左右垂直居中的方法的相关文章

文字在div中垂直居中的方法,设置div的高度height和行高line-height一致

文字在div中垂直居中的方法,设置div的高度height和行高line-height一致,如 .containerdiv{ height:60px; line-height:60px; }

单个未知大小图片在div里面垂直居中的方法。。。添加辅助元素挤一下位置达到居中

单个未知大小图片在div里面垂直居中的方法...添加辅助元素挤一下位置达到居中   <div class="ServicesLiTopPic"> <i></i> <img class="YuYue1" src="images/ReserveServices/YuYue1.png" /> </div>   .ServicesLiTopPic i { display:inline-block

jquery设置一个不固定高度的div 上下左右居中

$(window).resize(function(){ $(".mydiv").css({ position: "absolute", left: ($(window).width() - $(".mydiv").outerWidth())/2, top: ($(window).height() - $(".mydiv").outerHeight())/2 }); }); // 然后在页面加载时 $(function(){

一个div在另一个div中垂直居中的方法

.parent {             width:800px;             height:500px;             border:2px solid #000;             display:flex;             justify-content:center;             align-items:center;         }  .child {             width:200px;             hei

探讨div水平垂直居中的方法

我们在开发当中经常会遇到需要将一个div(或者说是一个元素)水平垂直居中,小弟知道的可以实现的方法有一下三种. 第一种:利用绝对定位的方法,具体实现可以看这里 <div id = "parent"> <div id = "child"> </div> </div> #parent{ position:relative; height:500px; background:red; } #child{ position:a

使用CSS完美实现垂直居中的方法

使用XHTML+CSS来实现元素的垂直居中一直是前端开发中的一个比较复杂且棘手的问题,作为网页设计师或前端开发工程师,这个垂直居中问题也是必须掌握的技巧之一,一些互联网公司面试题中也会出现这类题目.今天暴风彬彬将分享一个完美通过CSS实现垂直居中的方法,该方法是由aka Yuh?发明的,这个方法也是目前暴风彬彬觉得最完美最简洁的CSS垂直居中实现方法.下面来看看暴风彬彬曾经总结的笔记,大家有不同意见请多拍砖: 先来看看实例效果Demo 该CSS垂直居中的条件: 1.已有一个已定义高度的容器(如<

css的div垂直居中的方法,百分比div垂直居中

我们都知道,固定高宽的div在网页中垂直居中很简单,相信大家也很容易的写出来,但是不是固定高宽的div如何垂直居中呢?我们在网页布局,特别是手机等web端网页经常是不固定高宽的div,那么这些div如何垂直居中呢?这篇文章,我总结一下. 固定高宽div垂直居中 如上图,固定高宽的很简单,写法如下: position: absolute; left: 50%; top: 50%; width:200px; height:100px; margin-left:-100px; margin-top:-

CSS教程:div垂直居中的N种方法以及多行文本垂直居中的方法

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生 效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是没有valign特性的,因此使用vertic

DIV内容垂直居中

css垂直居中属性设置vertical-align: middle对div不起作用,例如: 1 <!DOCTYPE html> 2 <html lang="zh-CN"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Commpatible" content="IE=edge"> 6 <ti