2009-06-30 7 views
1

I 현재 향후 5 ~ 6로 성장할 수있는 제 4 열에 대한 다음과 같은 CSS 있습니다CSS를 사용하여 n 개의 열을 가운데에 배치하는 방법은 무엇입니까?

<style> 
.columns { 
    margin: 0 auto; 
    border: 1px red dotted; 
    width: 90%; 
} 

.columns div { 
    float: left; 
    width: 20%; 
    overflow:hidden; 
    border: solid 1px; 
    margin-right: 1em; 
} 
</style> 

<div class="columns"> 
    <div> 
    <h3>First</h3> 
    <ul> 
     <li>left</li> 
    </ul> 
    </div> 
    <div> 
    <h3>Second</h3> 
    <ul> 
     <li>mid</li> 
    </ul> 
    </div> 
    <div> 
    <h3>Third</h3> 
    <ul> 
     <li>right</li> 
    </ul> 
    </div> 
    <div> 
    <h3>Fourth</h3> 
    <ul> 
     <li>far right</li> 
    </ul> 
    </div> 
</div> 

그것이 내가 페이지의 중간에 4 열을 중앙에 무엇을 사용할 수 있습니까? 당신은 아마뿐만 아니라 (.columns 후) 문서의 하단에 청산 사업부를 넣고 싶을 것이다

.columns { 
    width: 800px; 
    margin-left: auto; 
    margin-right: auto; 
    border: 1px red dotted; 
} 

:

답변

0

최소 계산량의 계산 된 값으로 가능한 모든 대답을 읽은 후에 사용할 수있는 뭔가가 있다고 생각합니다. 나는 단순화를 위해 테두리를 꺼 냈습니다.

.columns { 
    position: relative; 
    clear: both; 
    margin: 0 auto; 
    width: 900px; 
} 

.columns div { 
    position: relative; 
    float: left; 
    width: 22%; 
    overflow:hidden; 
    margin-right: 4%; 
} 

.columns div.last { 
    margin-right: 0; 
} 

마지막 열에 <div class="last">을 사용하십시오.

2

당신은 .columns에 고정 폭을 설정해야 할거야 :

<div style="clear: both;">&nbsp;</div> 

.columns 컨테이너를 펼치기 만하면 테두리가 열의 길이가됩니다.

UPDATE

당신이 엄격하게 한 후, 네 열 레이아웃을 같은 .columns의 사업부를 업데이트하려는 경우 :

.columns div { 
    width: 160px; 
    padding-left: 10px; 
    padding-right: 10px; 
    margin-left: 10px; 
    margin-right: 10px; 
} 

여기에 유일한 비밀은 전체 폭을하는 것입니다 4로 나눕니다. 내가 제공하는 경우, 800/4 = 200이므로 각 열은 200px의 전체 폭 (너비 + 패딩 + 여백)을 갖습니다.

+0

지우기 div를 사용하지 마십시오. 대신 "최소 높이 : 10 픽셀"을 사용하십시오. f IE6 – Jason

+1

div가 내부에 떠있는 경우에도 컨테이너 div의 테두리를 최소 높이로 늘립니까? –

+0

4 번째 열의 오른쪽 여백과 div.columns의 오른쪽 테두리 사이의 간격이 여전히 존재합니다. 4 열이 div.columns를 고르게 채우게하려면 어떻게합니까? –

0

글쎄, 기술적으로는 그렇습니다. 그러나 랩퍼 div에서 어느 시점에서 너비를 설정해야합니다. 동적으로 넓혀진 (즉, 20 % 너비) 부동 열을 가운데로 맞출 수 있는지 여부는 알 수 없습니다. 래퍼 div 너비를 무언가로 설정하면 나머지 열의 여백을 중앙에 놓을 수 있습니다.

관련 문제