2012-05-08 3 views
0

div 내에서 알림 메시지를 가운데에 놓으려고 시도했지만 top:50%을 시도했지만 작동하지 않습니다. 일부 패딩을 넣으려고했는데 그 방법이 마음에 들지 않았습니다. 여기 피들을 볼 수 있습니다. :div의 요소 가운데 맞추기

.message > .inner { 
    padding:22px 0 0 40px; 
    top:50%; 
    margin:0 0 22px; 
    background-repeat:no-repeat; 
    background-position:0 17px; 
} 
+0

.inner DIV에 고정 높이 및 너비가 있으면 다음과 같이 할 수 있습니다. http://jsfiddle.net/VPdmT/6/ –

답변

1
.message > .inner { 
    padding: 0; 
    background-repeat: no-repeat; 
    background-position:0 17px; 
    display: table-cell; 
    vertical-align: middle; 
} 
.message.success { 
    color:#0e6200; 
    background-color:#d8ffcc; 
    border-color:#b3f39f !important; 
    display: table; 
} 

중요한 부분은 table-cell 표시하여 해당 사업부가 table 디스플레이 사업부 내에 있어야합니다.

+0

너무 효과적입니다. margin : 10px 0 0 22px; \t 패딩 : 4px 0 4px; \t 패딩 왼쪽 : 10px; 나는 그 약식 속성에 대해 연구 중이다. – Gandalf

1

상위 CSS 규칙 http://jsfiddle.net/VPdmT/은 요소의 위치가 정적 이외의 다른입니다에 적용 할 수 있습니다. 절대 또는 상대를 선언하지 않았으므로 top은 무시됩니다.

편집 : 진짜 대답에은 이렇게 :

.message { display: table; width: 100%; } 
.message>.inner { display: table-cell; vertical-align: middle; } 
0
.message > .inner { 
    padding:22px 0 0 40px; 
    vertical-align:middle; 
    display:table-cell; 
    margin:0 0 22px; 
    background-repeat:no-repeat; 
    background-position:0 17px; 
} 
관련 문제