이 두 div를 나란히 배치하는 방법은 무엇입니까?


110

중첩되지 않은 두 개의 div가 있습니다. 둘 다 하나의 상위 div 내에 있으며이 상위 div가 반복됩니다. 따라서 본질적으로 :

<div id='parent_div_1'>
  <div class='child_div_1'></div>
  <div class='child_div_2'></div>
</div>

<div id='parent_div_2'>
  <div class='child_div_1'></div>
  <div class='child_div_2'></div>
</div>

<div id='parent_div_3'>
  <div class='child_div_1'></div>
  <div class='child_div_2'></div>
</div>

나는 각각의 쌍 싶어 child_div_1하고 child_div_2서로 옆에 있습니다. 어떻게 할 수 있습니까?

답변:


82
#parent_div_1, #parent_div_2, #parent_div_3 {
  width: 100px;
  height: 100px;
  border: 1px solid red;
  margin-right: 10px;
  float: left;
}
.child_div_1 {
  float: left;
  margin-right: 5px;
}

http://jsfiddle.net/c6242/1/ 에서 작동 예를 확인하십시오.


1
그는 부모가 아닌 아이들 div가 서로 나란히 정렬되기를 원합니다 (적어도 그것은 제 이해였습니다 ...)
ehdv

4
나는 여전히 display: table-cell그가 의미하는 바에 더 가까운 결과를 얻을 것이라고 생각하지만 (그때 그들은 같은 높이 등을 가질 것이기 때문에)이 방법은 확실히 작동 할 것입니다.
ehdv 2011 년

@ehdv display: table-cell는 IE6 IE7에서 지원되지 않습니다. 왼쪽으로 뜨다; 이 작업을 수행하는 적절한 방법입니다.
Hussein

실제로 IE6,7에서이 작업을 수행하는 올바른 방법은를 사용하는 <tr><td>것입니다. 사용자가 창 크기 를 조정할 때 다른 옵션이 중단되기 때문입니다. 최신 브라우저에서는 display: inline-block일반적으로 가장 좋은 옵션입니다.
John Henckel

126

div는 기본적으로 block요소 이므로 사용 가능한 전체 너비를 차지하므로 다음을 사용해보십시오.

display:inline-block;

div즉 요소의 흐름 방해하지 않고 인라인 현재 렌더링되고, 여전히 블록 요소로 취급한다.

나는이 기술이 floats 와 씨름하는 것보다 쉽다는 것을 안다 .

자세한 내용은이 튜토리얼을 참조하십시오 -http : //learnlayout.com/inline-block.html . 나는 그것까지 이어지는 이전 기사조차도 추천 할 것이다. (아니요, 쓰지 않았습니다)


이 솔루션이 정말 마음에 들었습니다. 내 유일한 문제는 상단을 정렬하는 대신 두 div의 하단을 정렬한다는 것입니다. 이것에 대한 빠른 설정도 있습니까?
크리스

div높이가 같은 2 개의 래퍼를 사용하는 것이 좋습니다. 그러면 그 안에있는 내용이 위쪽으로 정렬 된 것처럼 보입니다.
Robin Maben 2013-09-12

2
나는 동의한다. 이것은 float:left전체 레이아웃을 재정의하지 않고 훨씬 더 많은 옵션을 제공하기 때문에 훨씬 낫습니다 . 이런 식으로 "그냥 작동"합니다. 여기에서 확인하세요 : jsfiddle.net/SrAQd/4
Jerry

12
수직 정렬을 얻으려면 "vertical-align : top;"을 추가합니다.
cdiggins

@Chris : 예, cdiggins에 동의합니다. 그것은 당신을 도울 것입니다.
Robin Maben 2014

44

아래 코드가 매우 유용하다는 것을 알았습니다. 여기에서 검색하는 모든 사용자에게 도움이 될 수 있습니다.

<html>
<body>
    <div style="width: 50%; height: 50%; background-color: green; float:left;">-</div>
    <div style="width: 50%; height: 50%; background-color: blue; float:right;">-</div>
    <div style="width: 100%; height: 50%; background-color: red; clear:both">-</div>
</body>
</html>


11

flexbox를 사용하면 매우 간단합니다!

#parent_div_1, #parent_div_2, #parent_div_3 {
    display: flex;
}

바이올린 예





2

Flexbox 사용

   #parent_div_1{
     display:flex;
     flex-wrap: wrap;
  }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.