방법에 대해 :
.child {
margin-left: auto;
margin-right: auto;
display: table;
}
전체 데모 HTML :
<html>
<head>
<style type="text/css" media="screen">
.child {
margin-left: auto;
margin-right: auto;
display: table;
}
</style>
</head>
<body>
<!-- middle marker to test alignment -->
<table width="100%"><tr><td align="center" width="100%">|</td></tr></table>
<!-- actual thing we're trying to center -->
<div class="parent">
<div class="child">123456789|987654321</div>
</div>
</body>
(출처 : http://solstice.co.il/blog/2008-02-26/horizontally-centering-content-dynamic-width-css)
또한 수직 중심의 경우 :
<html>
<head>
<style type="text/css" media="screen">
.parent {
width:800px;
height:430px;
margin:auto;
overflow:hidden;
border:2px solid cyan;
border-radius:25px;
-moz-border-radius:25px; /* Firefox 3.6 and earlier */
}
.evilStepMother { /* i.e. comes between the parent and child */
display: table-cell;
vertical-align: middle;
width: 800px; /* i.e. matches parent */
height: 430px; /* i.e. matches parent */
border:2px solid green;
border-radius:25px;
-moz-border-radius:25px; /* Firefox 3.6 and earlier */
}
.child {
margin: auto;
display: table;
border:2px solid red;
border-radius:25px;
-moz-border-radius:25px; /* Firefox 3.6 and earlier */
}
</style>
</head>
<body>
<!-- middle marker to test alignment -->
<table width="100%"><tr><td align="center" width="100%">|</td></tr></table>
<!-- actual thing we're trying to center -->
<div class="parent"><div class="evilStepMother">
<div class="child">123456789|987654321</div>
</div></div>
</body>
주의 : 경계선은 물건 배치 방법을보다 쉽게 볼 수 있도록 해줍니다. curvy 모서리는 단지 더 멋지다.
(출처 : http://blog.themeforest.net/tutorials/vertical-centering-with-css/)
ps. IE 호환성에 대한 정보는 링크를 참조하십시오. – JohnLBevan
꽤 창의적인 대답 인 표입니다. –
참으로 영리한! –