CSS가 C++보다 훨씬 어렵고 혼란 스럽기 때문에 몇 가지 질문이 있습니다.float none과 float left 요소의 음수 여백에 대한 혼동
은 HTML 본문
<div id="mydiv1">12345~~~~~~~~/</div><div id="mydiv2">+_______67890</div>
그리고 CSS 다음 고려
이있는 나에게 의미가 있습니다 (내 최신 크롬에서) 다음과 같습니다
#mydiv1 {
float: left;
background-color: red;
margin-right: -30px;
}
#mydiv2 {
float: left;
background-color: blue;
}
초 때문에 div가 떠 다니고 첫 번째 div 위에 놓입니다.
반면에 mydiv2
에서 float 속성을 제거하면 내용 만 이동하지만 배경 상자는 같은 위치에 유지됩니다.
1) 당신은 이유를 설명시겠습니까?
는 지금은 마진을 제거하고 떠, 두 div의이
#mydiv1 {
background-color: red;
width: 220px;
}
#mydiv2 {
background-color: blue;
width: 240px;
}
I가 float: left
를 추가하면 그것은 기대에이
같이 그러나 것 CSS을 가진 만들기 위해 폭을 추가 할 것 #mydiv1
갑자기 다음과 같이 보입니다.
2) 두 번째 div가 왜 두 배나 높이가 된 이유는 무엇입니까? 첫 번째 div의 z-index
을 -1로 설정하여 검사했습니다.
추신. 필자는 CodeAcademy에 대한 자습서를 작성하고 smashingmagazine.com에서 float/margin 관련 기사를 읽었습니다. 슬프게도 모든 것이 맑아지는 것은 아닙니다. 너희들이 나에게이 질문들을 설명했을 온라인 자원이나 책을 제안 할 수 있다면 나는 그것을 많이 고맙게 생각할 것이다.
흠, 이론적으로 'float'의 존재 또는 부족은 div의 너비를 변경하지 않아야합니까? [** this **] (http://jsfiddle.net/sthvQ/)를보실 수 있습니까? 'float'을 제거하면 파란색 div가 너비를 크게 변경합니다. 이유를 설명해 주시겠습니까? – expert
@ruslan 파란색 div에서'float'을 제거 할 때 여전히'width : 240px'가 있고 너비가 변경된 이유는 빨간색 상자가 덮여 있기 때문입니다 (빨간색 상자는 * flooded *이기 때문에). ** [this] (http://jsfiddle.net/cuKJ7/) **을 보시오. 나는 파란색 상자의 높이를 설정하여 빨간색 상자 뒤에있는 것을 볼 수있다. 파란색 상자의 너비는 여전히 '240px'. – sweetamylase