2011-03-01 3 views
43

나는 <div>의 내부에 세 개의 작은 <div> 인라인이 있습니다. 각각 33 % 너비가 있지만 3 * 33 %! = 100 %이므로 정렬 문제가 발생합니다. 이런 식으로 CSS에서 완벽한 3 분의 1을 표현하는 가장 좋은 방법은 무엇입니까? 어쩌면 33.33 %입니까?CSS에서 100 %의 1/3을 표현하는 가장 좋은 방법은 무엇입니까?

+4

을 계산에 관련이있는 sig.figs를 만들만큼 충분히 큰 데스크탑을 누군가가 가질 때까지 십진수 자리를 충분히 버리십시오. –

+3

분수를 지정할 수 없으므로 33.33 %만이 유일한 옵션입니다. – meagar

+4

유용한 정보 : [CSS의 서브 픽셀 렌더링 문제] (http://ejohn.org/blog/sub-pixel-problems-in-css/) – drudge

답변

14

여백에 대한 여유는 있습니까? 가운데 열의 5 % 여백과 함께 열당 30 %를 이동할 수 있습니다.

Quick example

4

가장 높은 화면 해상도는 2800x2100의 해상도를 가진 a non-production NEC LCD screen입니다. 이 크기에서도 한 픽셀은 화면 너비의 0.0357 %입니다. 그러므로 33.33%은 5,000 픽셀의 스크린이 표준이 될 때까지 충분히 근접해야합니다.

John Resig did some research 다른 브라우저에서 반올림하지만 세 열에 따라 정확히 일치하면 화면의 너비가 완벽한 솔루션을 제공하지 못할 수 있습니다.

#myDiv { 
    width: calc(100% /3); 
} 

또는 브라우저를 지원하지 않는다면 당신은 대체로 사용할 수 있습니다 : : 이제

+2

"비싼"소리는 현재의 비 프로덕션 모니터에서 약간 낮게 들린다. . 이것은 현재의 기술 한도로서 조금 더 합리적입니다. http://en.wikipedia.org/wiki/Ultra_High_Definition_Television – Marcel

68

calc은 최신 브라우저들 widely supported 것을, 당신은 사용할 수 있습니다

#myDivWithFallback { 
    width: 33.33%; 
    width: calc(100%/3); 
} 
+15

fallback을 잊지 마세요. .column-one-third {width : 33.33 %; 너비 : calc (100 %/3); }'. 그렇게하면 비 계산 브라우저를 지원할 수 있습니다. –

+0

div의 정확히 1/3을 제대로 계산하려면 소수 자릿수 6 개가 필요하다는 것을 발견했습니다. 'width : 33.333333 %;' – Garconis

8
.col_1_3 { 
    width: 33%; 
    float: left; 
} 

.col_1_3:nth-of-type(even) { 
    width: 34%; 
} 
+0

. col_1_3 {width : 33.33 %; float : left;}가 더 나은 접근 방식입니다. 어쩌면 상자 크기 : 테두리 상자와 약간의 여백이있을 수 있습니다. –

관련 문제