12-21
12.21
CSS3中的元素水平垂直居中方法
1.行內元素
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.one {
width: 600px;
height: 400px;
background-color: red;
margin: auto; /紅盒子居中
text-align: center; /文字(行內)水平居中
line-height: 400px; /文字(行內)垂直居中
}
.two {
}
</style>
</head>
<body>
<div class="one">
<span class="two">span</span>
</div>
</body>
</html>
2.塊級元素
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.one {
width: 600px;
height: 400px;
background-color: red;
margin: auto; /紅盒子居中
padding-top: 1px; /防止頂部塌陷
}
.two {
width: 60px;
height: 60px;
background-color: gold;
text-align: center; /文字水平居中
line-height: 60px; /文字垂直居中
margin: 200px auto 0; /黃盒子(塊級),水平居中,垂直距頂部200px
transform: translateY(-50%); /黃盒子(塊級),位移自身一半高度(30px),使它垂直居中
}
</style>
</head>
<body>
<div class="one">
<div class="two">div</div>
</div>
</body>
</html>
3.行內塊元素
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.one {
width: 600px;
height: 400px;
background-color: red;
margin: auto; /紅盒子居中
text-align: center; /黃盒子(行內塊)水平居中,文字也居中
}
.two {
width: 60px;
height: 60px;
background-color: gold;
display: inline-block;
line-height: 60px; /文字垂直居中
margin-top: 200px; /黃盒子(行內塊),垂直距頂部200px
transform: translateY(-50%); /黃盒子(行內塊),位移自身一半高度(30px),使它垂直居中
}
</style>
</head>
<body>
<div class="one">
<div class="two">行內塊</div>
</div>
</body>
</html>
4.浮動元素
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.one {
width: 600px;
height: 400px;
background-color: red;
margin: auto; /紅盒子居中
}
.fl {
width: 60px;
height: 60px;
background-color: gold;
float: left;
text-align: center; /文字水平居中
line-height: 60px; /文字垂直居中
margin-left: 50%; /黃盒子(浮動),水平距左邊300px
margin-top: 200px; /黃盒子(浮動),垂直距頂部200px
transform: translate(-50%,-50%); /位移自身一半寬(30px)高(30px),使它水平垂直居中
}
</style>
</head>
<body>
<div class="one">
<div class="fl">浮動</div>
</div>
</body>
</html>
5.定位元素
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.one {
width: 600px;
height: 400px;
background-color: red;
position: relative;
margin: auto; /紅盒子居中
}
.two {
width: 60px;
height: 60px;
background-color: gold;
position: absolute;
text-align: center; /文字水平居中
line-height: 60px; /文字垂直居中
left: 50%; /黃盒子(定位),水平距左邊300px
top: 50%; /黃盒子(定位),垂直距頂部200px
transform: translate(-50%,-50%); /位移自身一半寬(30px)高(30px),使它水平垂直居中
}
</style>
</head>
<body>
<div class="one">
<div class="two">定位</div>
</div>
</body>
</html>