2012-01-13 6 views
3

고정 된 위치가 지정된 div에 대한 클래스가 뷰 포트의 맨 아래에 머물러 있습니다. div가 너비를 변경하면 가운데로 유지되도록 너비를 자동으로 만들려고합니다.CSS : 고정 된 div 중앙에

.box { 
position: fixed; 
width: 80%; 
bottom: 20px; 
left: 50%; 
margin: 0 0 0 -40%; 
max-height: 50%; 
overflow: auto 
} 

아이디어가 있으십니까? 나는 텍스트 정렬을 사용하는 컨테이너를 시도했다. : center, display : inline, 그러나 그것은 미친 결과를 낳았다.

답변

6
.box { 
    position : fixed; 
    left  : 10%; 
    right  : 10%; 
    bottom  : 20px; 
    max-height : 50%; 
    overflow : auto; 
} 

당신은 (대신 폭을 사용) 요소를 중심으로 함께 leftright를 사용할 수 있습니다. 당신이 폭을 사용하려면

당신은이 작업을 수행 할 수 있습니다

.box { 
    position : fixed; 
    left  : 10%; 
    width  : 80%; 
    bottom  : 20px; 
    max-height : 50%; 
    overflow : auto; 
} 

을 당신이 할 수있는 고정 요소 안에 HTML을 중심하려는 경우 : 여기

.box > div { 
    width  : 50%; 
    min-width : 150px; 
    margin  : 0 auto; 
    text-align : center; 
} 

데모입니다 : http://jsfiddle.net/dFXt5/

+0

그래도 너비가 80 %로 유지됩니까? 너비가 포함 된 데이터를 기반으로 동적 인 너비를 원합니다. 예를 들어 한 단어 만 들어 있으면 해당 단어가 작은 div의 중심에 있어야하며 div는보기 포트의 80 %를 차지하지 않아야합니다. – Myforwik

+0

데모를 확인하십시오. 중첩 된 div 그냥 않습니다. 테두리와 배경색을 제거하면 텍스트가 뷰포트의 중간에 떠있게됩니다. – Jasper

+0

오 감사합니다. 나는 IE6에 있었고 CSS가 작동하지 않는다는 사실을 잊어 버렸다. – Myforwik

0
.centered { position: fixed; top: 50%; left: 50%; margin-top: -[1/2(element-height)]; margin-left: -[1/2(element-width)];} 

이 작품.