css让div居中

1.对div使用绝对布局“position:absolute;”;
方法一:对div使用绝对布局position:absolute;并设置top,left,right,bottom的值相等,但不一定都等于0;并且设置margin:auto

{position:absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
}
2.对div使用绝对布局并把top和left的值都设置为50%;
方法二:这个方法要知道div的宽度和高度。对div使用绝对布局position:absolute;并把top和left的值都设置为50%;50%就是指页面窗口的宽度和高度的50%;最后将div左移和上移,左移和上移的大小为div宽度和高度的一半

{position:absolute;
top:50%;
left:50%;
margin:-100px 0 0 -100px;
}
3.通过css3的transform属性实现div居中。
方法三:div使用绝对定位position:absolute,并且设置left和top的值都为50%。使用css3的transform属性。transform:translate(-50%,-50%)

{position:abslolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
-webket-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%);
-moz-transform:translate(-50%,-50%);
}
若有两个div,里面小的div相对于外面大的div水平垂直居中对齐,有以下几种方法。
1.利用position和margin:auto实现。父元素设置position:relative;子元素设置position:absolute,并设置top,left,right,bottom值相等。
父元素{
position:relative;

}
子元素{
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
}
2.使用position。父元素设置position:relative;子元素设置position:absolute。并设置top和left为50%,并设置左移和上移为子元素的大小的一半
父元素{
position:relative;

}
子元素
{position:absolute;
top:50%;
left:50%;
margin:-100px 0 0 -100px;
}
使用display:flex。这种方法需要设置浏览器的兼容性。
{display:flex;
display:-webkit-flex;
justify-content:center;
-webkit-justify-content:center;
align-items:center;
-webkit-align-items:center;
margin:0 auto;
}

3使用transform:translate()。父元素设置position:relative;子元素设置position:absolute。并设置top和left为50%。最后设置transform:translate(-50%,-50%)
父元素{
position:relative;

}
子元素
{{position:abslolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐