如何居中一个浮动元素【2015-05-15】
昨天面试的时候,做到了一道题,如何居中一个浮动元素?
那么
如何居中一个浮动元素呢?
当时取巧写了两个方法:
1、给定一个父元素,设置父元素居中
2、在浮动元素左侧加一个div,设置浮动且宽度为响应式,并且visibility:hidden,以达到浮动元素居中的目的。
回来后总觉得有些不妥,就百度了一下,找到了如下方法,记录以备查阅!
-
设置容器的浮动方式为相对定位
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
div{
width: 500px; /*跟要居中的浮动元素大小一致即可*/
height: 300px;
margin: -150px 0 0 -250px;
position: absolute;
left: 50%;
top: 50%;
background-color: yellow;
}
</style>
</head>
<body>
<div>
元素居中
</div>
</body>
</html>
首们需要position:absolute;绝对定位。而层的定位点,使用外补丁margin负值的方法。负值的大小为层自身宽度高度除以二。
如:一个层宽度是400,高度是300。使用绝对定位距离上部与左部都设置成50%。而margin-top的值为-150。margin-left的值为-200。这样我们就实现了层垂直居中于浏览器的样式编写
-
如果你是想让div垂直居中与div,那么你可以在父级div上加一个position:relative即可
1
|
<style type="text/css">
|