首页 > 代码库 > HTML中元素水平居中。

HTML中元素水平居中。

一丶margin:0 auto;

试用最多的方法,简单实用。

二丶vertical-align:middle;

只适用于内嵌元素,比如说一个div中有一个图片和文字,要让图片和文字中线对齐。

<style type="text/css">
.fd{
width: 500px;
height: 200px;
}
img{
vertical-align:middle;
}
</style>

<div class="fd">
<img src="http://www.mamicode.com/页面/images/1.png" />
<span>关注前端,关注用户体验-冀</span>
</div>

三丶position:relative;

通过给父元素设置浮动float,再设置父元素的position属性为relative和left:50%;子元素设置position:relative和left:-50%来实现水平居中。这个好处是可以保留块级元素仍然是以display:block的形式显示,不会添加无意义的标签,不添加嵌套深度。确点是设置了position:relative;带来了一些副作用。下面是第三种方法的实例代码,放到body标签里面就可以了。

<div style=”width:400px;height:300px;background:#333;”>

<ul style=”margin:0 auto;float:left; position:relative; left:50%;list-style:none; padding:0;”>

<li style=”position:relative; left:-50%;float:left”>OKOKOKOKKOOKK</li>

</ul>

</div>

四丶margin-left;

通过margin的left来设置居中,需要多尝试参数值。

五丶padding-left;

通过padding的left来设置居中,需要多尝试参数值。

六丶text-align:center:

首先在父级元素定义text-align: center;这个的意思就是在父级元素内的文字内容居中;

七丶center(图片居中)

body{backgroud: url(“1.png”) #FFF no-repeat center;} 
关键就是最后的center,这个参数定义图片的位置。还可以写成“top left”(左上角)或者"bottom right"等,也可以直接写数值"50 30"

八丶JS控制居中

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<title></title>
<style type="text/css">

</style>
</head>
<body>
<div style="border: solid; width: 100%; height: 100px">
说明:js根据页面大小变化设置div左右居中, 要应用js代码,要设置position:absolute
<p>关注前端,关注用户体验-冀</p>
</div>
<div id="fd"style="border: solid; background-color: red; width: 100px; position: absolute">
此为居中的div
</div>
<script type="text/javascript">
var fd = document.getElementById("fd");
var fd_resize = function() {
fd.style.left = (document.body.clientWidth - 100) / 2;//100为mydiv的宽度
fd.style.height = document.body.clientHeight / 2;
}
fd_resize();
window.onresize = fd_resize;
</script>
</body>
</html>