css实现子层在父层中水平垂直居中

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css实现子层在父层中水平垂直居中</title>
<style type="text/css">
#parent {
    position:absolute;
    top:50%;
    left:50%;
    margin:-250px 0 0 -200px;
    height:500px;
    width:400px;
    background-color:red;
}
#child {
    position:absolute;
    top:50%;
    left:50%;
    margin:-100px 0 0 -150px;
    height:200px;
    width:300px;
    background-color:green;
}
</style>
</head>
<body>
<div id="parent">
    <div id="child"></div>
</div>
</body>
</html>

解释:
    id为parent的层的父层是body,id为child的层的父层是parent。
需要注意点:
    一:子层必须设置position为absolute,父层必须设置position为relative;absolute可以作为另一个absolute的父层。
    二:子层top设置为50%,left也设置为50%。
    三:子层的margin-top设置为本身高度的一半,并且为负值;margin-left设置为本身宽度的一半,并且为负值。
效果:
    子层水平垂直居中于父层。

时间: 2024-10-27 02:09:00

css实现子层在父层中水平垂直居中的相关文章

CSS子元素在父元素中水平垂直居中的几种方法

1. 水平居中(margin: auto;)子父元素宽度固定,子元素上设置 margin: auto; 子元素不能设置浮动,否则居中失效. #div1{ width: 300px; height: 300px; border: 1px solid red; } #div1 p { width: 100px; height: 100px; background-color: green; /*float: left; !*如果设置了浮动,则自动居中就会失效.*!*/ margin: 0 auto;

CSS实现图片在div a标签中水平垂直居中

CSS实现图片在div a标签中水平垂直居中 <div class="demo"> <a href="#"> <img src="test.jpg" /> </a></div> /*For Firefox Chrome*/.demo{border:1px #ddd solid;width:208px;height:148px;overflow:hidden;text-align:cent

css如何将div实现全屏水平垂直居中

css如何将div实现全屏水平垂直居中:本章节介绍一下如何将一个div元素在整个网页内实现水平垂直居中效果,代码是最有说服力的,直接看代码.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title

CSS篇之2---如何保持浮层水平垂直居中

如何保持浮层水平垂直居中.notehttp://www.cnblogs.com/yaliu/p/5190957.html (一)利用绝对定位与transform <div class="parent"> <div class="children"></div> </div> 将父元素定位,子元素如下 .children { position: absolute; top: 50%; left: 50%; -webkit

css在百分比高度时,文字水平垂直居中

给需要垂直居中的文字增加一个父元素,给父元素设置 display:table; 给需要居中的子元素设置 vertical-align:middle; display:table-cell; 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" conten

CSS元素(文本、图片)水平垂直居中方法

1.text-align:center; 2.margin:0 auto; 3.display:inline-block; + text-align:center; 4.position:relative; + float:left; 5.line-height 6.上下左右padding 7.position:absolute; + margin:auto; 8.position:absolute; + 负margin 9.position:absolute; + calc() 10.tabl

img标签在div中水平垂直居中--两种实现方式

第一种方式: text-align:center; vertical-align:middle; div{ text-align: center; vertical-align:middle;width: 400px; height: 400px; border: 1px solid #000; } img{vertical-align: middle} span{height: 100%;vertical-align: middle;display: inline-block} <div st

图片在父元素里面水平垂直居中

<!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" con

在swiper-slide中水平垂直居中元素flex实现

代码结构: <!-- Swiper --> <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&am