2012-06-14 2 views
1

높이가 같고 각 섹션간에 경계선이 있고 응답 성을 유지하는 여러 개의 열을 만드는 방법 (아래 이미지 참조). 두 개의 열이 있으면 배경 이미지를 사용할 수 있다는 것을 알고 있지만 더 많은 부분이 나타나면 전체 응답 부분이 진행됩니다.경계가있는 3 개의 열에 반응하는 동일한 높이. CSS로 만드는 방법?

편집은 :을 heres jsfiddle 나는했습니다 : http://matthewjamestaylor.com/blog/equal-height-columns-cross-browser-css-no-hacks

+0

일반적으로 몇 가지 사항을 먼저 시도하고 질문을하기 전에 커뮤니티가 처음부터 레이아웃을 작성하도록 요청하기 전에 수행 한 작업을 보여 주어야합니다. –

+0

알겠습니다. 몇 초 안에 올라 오게되었습니다. –

+0

http://jsfiddle.net/kF9LA/ –

답변

2

왼쪽에서 1/3 경계선이 있고 오른쪽에서 1/3 오른쪽 경계선이있는 이미지는 약 두 개의 bg 이미지입니까? 그런 다음 각각 background-position:33.3% 0;background-position:66.6% 0; 인 컨테이너 한 쌍에 적용하십시오.

중간에 테두리가 하나의 이미지를 사용하여 유사

background-position:50% 0;

편집 :

이 작동하는 것 같다,하고 반응/유체의 quick test를 실행 한 후.

HTML

<div class="container"> 
    <div class="bg1"> 
     <div class="bg2"> 
      <div class="content">...</div> 
     </div> 
    </div> 
</div> 

CSS

.container {width:100%; border:2px solid #000;} 

/* Tile a 2x1 image for the border */ 
.bg1 {background:url(img/border.png) repeat-y 33.3% 0;} 
.bg2 {background:url(img/border.png) repeat-y 66.6% 0;} 

편집 2 :

이 .content에서 height:200px;을 제거하고 높이가 증가 할 수 있음을 표시하려면 demo에 텍스트 컨텐츠를 추가 콘텐츠를 기반으로합니다. 두 개의 bg 이미지를 단일 2x1 이미지로 대체했습니다.

+0

수치 나는 콘텐츠에 동적이어야 높이가 필요합니다, 그렇지 않으면이 솔루션은 최고가 될 것입니다! –

+0

동적으로 작동해야합니다. 내 예제에는 내용이 없기 때문에 'height : 200px'를 하드 코딩했습니다. 그러나이를 제거하고 일부 내용 (및 내용의 일부 내부 열)을 추가하면 동적으로 작동해야합니다. 내가 만든 bg 이미지는 높이가 200 픽셀이지만 이미지가 바둑판꼴로 인쇄되어 있기 때문에 1 픽셀이 될 수도 있습니다. –

+0

또한 bg 컨테이너에 동일한 이미지를 사용할 수 있음을 깨달았습니다. IE8 이전 버전이 아니라면 하나의 background 속성에 여러 개의 bg 이미지를 지정하고 두 개가 아닌 하나의 bg 컨테이너를 사용할 수 있습니다. –

1

당신은 매튜 제임스 테일러의 솔루션에서 좀 걸릴 수 있습니다 테두리가있는 셀이있는 테이블을 사용하는 것이지만 손에 많은 시간을 할애한다면 @nebulousGirl이 제안한 CSS 방식이 그 길입니다.

+0

예, 깔끔한 해결책을 보았습니다.그러나 그의 예에서는 이미지에 표시된 것처럼 경계선을 허용하지 않습니다. –

+0

반응 형 디자인에서 작동하는 것처럼 보입니다 (어떤 px 값도 사용하지 않기 때문에). 그러나 bg를 채우는 것보다 일정한 두께로 테두리를 표시하는 데 적합합니까? –

+0

배경 오른쪽에 테두리를 추가 할 수 있습니다. 가장 우아한 솔루션은 아니지만 경우에 따라 잘 작동합니다. – nebulousGirl

1

유사한 스레드에서 몇 가지 답변을 얻었습니다 here. 가장 좋은 방법은 사용자가 시각적으로 divs가 동일한 높이를 볼 필요가 완전히 전적으로 달려 있습니다. 최종 사이트가이 목업 (경계가되는 유일한 시각적 신호)처럼 보일 경우 반드시 MJT의 방법을 사용할 필요가 없으며 대신 this과 같은 배경 이미지를 사용할 수 있습니다.

위의 링크의 주석에서 설명한 것처럼이 방법은 수평 유체 레이아웃에는 사용할 수 없지만 고정 너비 레이아웃이있는 경우 원하는만큼의 열에 대해 배경 이미지를 사용할 수 있습니다. 그냥 당신이 맞는지 확인하십시오.

그러나 레이아웃이 완전히 유동적 일 필요가 있다면 MJT의 방법이 가장 좋습니다. 여분의 마크 업이 필요하지만 방탄입니다.

+0

해답을 주셔서 감사합니다. 그러나 내용이 반응 적/유동적이어야합니다. –

+0

ACK! 다른 답변에 대해서는 아직 말할 수 없습니다. @sebasiongraz, 그것은 절대적으로 국경을 허용 할 것입니다! 그 위에 테두리가 있도록 스타일을 지정하면됩니다. 당신은 심지어 배경색을 설정하고 컬럼에 1px의 여백을 설정하여 배경이 보여 지도록 할 수 있습니다. 실제로는 단지 배경 "마스크"일 때 테두리처럼 보입니다. –

+1

링크를 클릭하십시오. [여기에 그것은 다시] (http://stackoverflow.com/a/10905779/1284654) 그리고 여기에 귀하의 피들입니다. http://jsfiddle.net/6yZxw/ –

관련 문제