一个div相对于外层的div水平和垂直居中
2016-10-06 10:45
190 查看
我自己感觉,第四种比较常用
<title>无标题文档</title>
<style>
.parent {
width:800px;
height:500px;
border:2px solid #000;
position:relative;
}
.child {
width:200px;
height:200px;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
background-color: red;
}
.parent1 {
width:800px;
height:500px;
border:2px solid #000;
display:table-cell;
vertical-align:middle;
text-align: center;
}
.child1{
width:200px;
height:200px;
display:inline-block;
background-color: red;
}
.parent2{
width:800px;
height:500px;
border:2px solid #000;
display:flex;
justify-content:center;
align-items:center;
}
.child2{
width:200px;
height:200px;
background-color: red;
}
.parent3 {
width:800px;
height:500px;
border:2px solid #000;
position:relative;
}
.child3 {
width:300px;
height:200px;
margin:auto;
position:absolute;/*设定水平和垂直偏移父元素的50%,
再根据实际长度将子元素上左挪回一半大小*/
left:50%;
top:50%;
margin-left: -150px;
margin-top:-100px;
background-color: red;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">第一种方法</div>
</div>
<div class="parent1">
<div class="child1">第二种方法</div>
</div>
<div class="parent2">
<div class="child2">第三种方法</div>
</div>
<div class="parent3">
<div class="child3">第四种方法</div>
</div>
</body>
</html>
<title>无标题文档</title>
<style>
.parent {
width:800px;
height:500px;
border:2px solid #000;
position:relative;
}
.child {
width:200px;
height:200px;
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
background-color: red;
}
.parent1 {
width:800px;
height:500px;
border:2px solid #000;
display:table-cell;
vertical-align:middle;
text-align: center;
}
.child1{
width:200px;
height:200px;
display:inline-block;
background-color: red;
}
.parent2{
width:800px;
height:500px;
border:2px solid #000;
display:flex;
justify-content:center;
align-items:center;
}
.child2{
width:200px;
height:200px;
background-color: red;
}
.parent3 {
width:800px;
height:500px;
border:2px solid #000;
position:relative;
}
.child3 {
width:300px;
height:200px;
margin:auto;
position:absolute;/*设定水平和垂直偏移父元素的50%,
再根据实际长度将子元素上左挪回一半大小*/
left:50%;
top:50%;
margin-left: -150px;
margin-top:-100px;
background-color: red;
}
</style>
</head>
<body>
<div class="parent">
<div class="child">第一种方法</div>
</div>
<div class="parent1">
<div class="child1">第二种方法</div>
</div>
<div class="parent2">
<div class="child2">第三种方法</div>
</div>
<div class="parent3">
<div class="child3">第四种方法</div>
</div>
</body>
</html>
相关文章推荐
- DIV 内层>DIV相对与外层垂直水平居中
- 如何使一个div在另一个div中绝对居中(水平与垂直方向)
- 使当前对象相对于上层DIV 水平、垂直居中定位
- jquery计算出left和top,让一个div水平垂直居中的简单实例
- 如何将一个div水平垂直居中?4种方法做推荐
- 如何将一个div水平垂直居中?6种方法做推荐
- jquery计算出left和top,让一个div水平垂直居中
- 如何让图片相对于上层DIV始终保持水平、垂直都居中
- 一个position为fixed的div,宽高自适应,怎样让它水平垂直都在窗口居中?
- 使用css3将一个div水平和垂直居中显示
- 如何让一个div水平和垂直居中对齐
- 如何让DIV相对于body水平和垂直居中
- 使图片相对于上层DIV始终水平、垂直都居中
- 如何让DIV相对于body水平和垂直居中
- 让div里面的两个元素竖直排列,并相对于其水平垂直居中
- 如何让图片相对于上层DIV始终保持水平、垂直都居中
- 如何让一个div在另一个div中绝对居中(水平+垂直)
- 使一个div在body中水平垂直居中的方法
- 编写css让一个已知宽高的div元素水平居中?垂直居中
- Repeater JJ : 不要随便说精通"这是教训(一个水平垂直都居中的DIV样式)