<div>
상자를 표시하는 반응 레이아웃에서 일하고 있어요
: http://sl.cosd.comCSS 테이블, 다양한 크기
이 페이지에서 볼 수있는 여섯 개 상자
은 모두 그룹 해제 행의 HTML 소스, 모든 :
<div class="control">
<div class="controlContent">
<a>SOME VARIABLE-HEIGHT CONTENT including an image which might float</a>
</div>
</div>
control
div의 다음에 먼저 전체, 1/2 또는 1/3 화면 너비 상자 비율 폭을 할당, 그래서 그들은 & tripl을 두 배로 화면 크기가 커짐에 따라 행이 늘어납니다. controlContent
divs는 패딩, 여백, 배경, border-radius
등의 속성을 할당합니다.
나는 이것을 테이블과 같이 CSS를 통해 표시 할 수있는 표준 선형 및 스크린 판독기 상자의 선형 세트로 상상했습니다. 나는 CSS2.1 요소가 같은 속성을 할당 할 수 있습니다 알고
display: table;
display: table-row;
display: table-cell;
내 주요 문제 : I합니다 (controlContent
사업부를 통해) 이러한 요소 display: table-cell
를 할당 내용 내부 마진 붕괴를 방지하지만,하지 셀 같은 div에 균일 한 높이를 제공하지 않습니다. 동일한 행에있는 모든 형제에게 맞는 높이가 있어야합니다.
작은 셀은 일반적으로 그라디언트 배경이 셀의 상자 높이만을 덮는 경우 그 아래에 간격이 있습니다. (이 배열 이후의 텍스트는 때로 이러한 차이를 채 웁니다. 즉, 첫 번째 문제가 해결 될 때 사라질 가능성이 있지만 프레젠테이션 마크 업으로 해결할 수있는 또 다른 문제입니다.)
문제의 기초 : 각각 <div>
은 테이블 셀처럼 동작하도록 말했지만,이 그룹핑 변경 이후 속성을 할당 할 수있는 <div>
을 포함하는 요소를 그룹화 할 방법이 없으므로 그 높이와 일치하는 것이 없습니다. CSS 미디어 쿼리에 따르면 내가 익명 테이블 상자 및 익명 테이블 행 생성되는하지만,이 경우에서 사용하는 방법을 모른다 들었어요 문제에 대한 내 독서에서
. CSS :nth-child()
셀렉터를 사용하여 각 새 행의 시작 부분에 떠 다니는 상자를 지우고 싶습니다. 이러한 셀렉터를 사용하여 이러한 모든 지점에서 새 테이블 행을 만들 수도 있습니다.
나는 특정 해결책과 결혼하지 않았습니다. 이 작업을 수행하는 가장 좋은 방법을 알고 싶습니다. 특히 프리젠 테이션 마크 업을 포함하지 않는 솔루션을 찾고자합니다. 일반적인 솔루션은 6과 같이 작고 쉽게 분해 할 수있는 숫자가 아닌 가변 개수의 변수 테이블을 제공해야하기 때문에 특히 그렇습니다.
흥미롭게도, div에'table-cell'을 적용하면 JS 피들처럼 보이게됩니다. 좁은 화면 방향에서는 테이블 동작이 새 행이 만들어 질 때까지 단일 행을 채우는 것이므로 요소가 화면에서 나란히 정렬됩니다. Re jQuery : DOM을 거쳐 div에 div가 포함되도록 중첩하여 화면 너비에 따라 필요에 따라 컨테이너에 적용되는'table-row '라고 생각했습니다. 페이지로드 후 화면 크기가 변경 될 수 있습니다. 지금은 상자의 스타일을 지정하고 높이 차이를 무시하고 모양을 확인합니다. 고마워! – rphair
글쎄, 특정 화면 크기에 도달했을 때만'display : table-cell;'을 추가해야만'display : block;'을 사용할 수 있습니다. 내 편집을 확인하십시오. – Giona
그게 문제 야. 플로트가 좁은 화면 너비에서만 발생하는 div 내부에서 사용될 때 마진 붕괴를 막기 위해 처음부터 추가해야했습니다. 사실 HTML5 보일러 플레이트의 "clearfix"는이 메서드를 사용하므로이 메서드를 사용하지 않습니다. 나는 당신의 생각을 염두에 두겠다. 그러나 상자가 두 개의 "행"으로 나뉘고 떠 다니는 상자가 지워질 때 어떤 일이 일어나는지 아직 테스트 할 수 없었다.표가 직선을 실행하기 때문에 표가 부동 표를 지우는 동안 새로운 표가 만들어지기 때문에 표와 부동 행태간에 충돌이있을 수 있습니다. – rphair