css 水平对齐(Horizontal Align)

元素居中对齐

要水平居中对齐一个元素(如<div>),可以使用margin:auto;。

设置到元素的宽度将防止它溢出到容器的边缘。

元素通过指定宽度,将两边的空外边距平均分配。

中心对齐使用margin

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网(html99.cn)</title> 
<style>
.center
{
	margin:auto;
	width:80%;
	background-color:#0fff;
}
</style>
</head>

<body>
<div class="center">
<p>学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!</p>
<p>通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!</p>
</div>
<p><b>注意: </b>使用 margin:auto无法兼容 IE8, 除非!DOCTYPE已经声明.</p>
</body>
</html>
css Align(对齐)-技术中文网

提示:如果宽度是100%,对齐是不会显示效果的。

使用position属性设置左,右对齐(使用绝对定位方法)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网(html99.cn)</title> 
<style>
.right
{
	position:absolute;
	right:0px;
	width:300px;
	background-color:#0fff24;
}
</style>
</head>

<body>
<div class="right">
<p>学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!</p>
<p>通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!</p>
</div>
</body>
</html>
css Align(对齐)-技术中文网

提示:绝对定位与文档流无关所以它可以覆盖上面的其它元素。

使用float属性设置左,右对齐(使用float方法)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网中文网(html99.cn)</title> 
<style>
.right
{
	float:right;
	width:300px;
	background-color:#0fff24;
}
</style>
</head>

<body>
<div class="right">
<p>学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!学习css就来技术中文网html99.cn!</p>
<p>通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!通过学习css来完成项目样式,让代码更加简化,作品更加优秀,提高效率!</p>
</div>
</body>
</html>
css Align(对齐)-技术中文网

使用Padding设置垂直居中对齐

css设置垂直居中对齐的方式头部顶部使用passing

css Align(对齐)-技术中文网
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网(html99.cn)</title> 
<style>
.center {
    padding: 70px 0;
    border: 4px solid red;
}
</style>
</head>
<body>

<h2>垂直居中</h2>
<p>以上实例,我们使用 padding 属性实现元素的垂直居中:</p>

<div class="center">
  <p>我是垂直居中的。</p>
</div>

</body>
</html>
css Align(对齐)-技术中文网

如果要水平垂直都居中,也可以使用padding和text-align:center

css Align(对齐)-技术中文网
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网(html99.cn)</title> 
<style>
.center {
    padding: 80px 0;
    border: 3px solid red;
    text-align: center;
}
</style>
</head>
<body>

<h2>定中心</h2>
<p>以下实例,我们使用 padding 和 text-align 让 div 元素的水平和垂直方向都居中:</p>

<div class="center">
  <p>我是水平和垂直都居中的。</p>
</div>

</body>
</html>
css Align(对齐)-技术中文网

使用line-height设置垂直居中

css Align(对齐)-技术中文网
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网(html99.cn)</title> 
<style>
.center {
    line-height: 200px;
    height: 200px;
    border: 4px solid red;
    text-align: center;
}

.center p {
    line-height: 1.5;
    display: inline-block;
    vertical-align: middle;
}
</style>
</head>
<body>

<h2>居中</h2>
<p>以下实例中,我们让 line-height 属性值和 height 属性值相等来设置 div 元素居中:</p>

<div class="center">
  <p>我是垂直居中的。</p>
</div>

</body>
</html>
css Align(对齐)-技术中文网

使用position和transform设置垂直居中

除了使用padding和line-height属性外,我们还可以使用transform设置垂直居中

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网(html99.cn)</title> 
<style>
.center { 
    height: 200px;
    position: relative;
    border: 3px solid red; 
}

.center p {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
</style>
</head>
<body>

<h2>居中</h2>
<p>以下实例中,我们使用了 positioning 和 transform 属性来设置水平和垂直居中:</p>

<div class="center">
  <p>我是水平和垂直居中的。</p>
</div>

<p>注意: IE8 及更早版本不支持 transform 属性。</p>

</body>
</html>
css Align(对齐)-技术中文网

Crossbrowser兼容问题

这样的元素对齐时,先确定margin和元素的填充,始终是个方法,这是为了避免在不同的浏览器中看见差异。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>技术中文网(html99.cn)</title> 
<style>
body
{
	margin:0;
	padding:0;
}
.right
{
	float:right;
	width:300px;
	background-color:#0fff24;
}
</style>
</head>
<body>
<div class="right">
<p><b>注意: </b>当使用浮动属性对齐,总是包括!DOCTYPE声明!如果丢失,它将会在IE浏览器产生奇怪的结果。</p>
</div>

</body>
</html>
css Align(对齐)-技术中文网