보통 어떤 레이아웃 디자인을 보고
HTML 마크업을 작성할때, 하드코딩을 하다보면
레이아웃이 깨지는 현상이 있고, 이유를 정확히 모르겠을때에 overflow:auto 혹은 overflow:hidden 으로 해결이 되는 경우가 종종 있다.
오늘 알게 된 것도 이것으로 발생하는 현상인데
필자로선 매우 신기하다.
HTML과 CSS는 여전히 명확하지 못하다. NO CLEAR
div(height지정) > div(no height,overflow:auto) > 안에 height를 초과하는 요소가 들어가면 absolue처럼 독립적으로 작동하는 것이다.
대충 예제코드를 만들어서 적용시켜보겠다.
<div style="height:20px;width:300px;background:#f00;">
<div style="overflow:auto;border:#000 1px solid;">
<div style="width:200px;background:#0f0;">
블라블라블라
레이아웃 안깨뜨리고, 높이를 무시하고 커질수 있다
<br/>하하하<br/>하하하<br/>하하하<br/>하하하<br/>하하하<br/>하하하<br/>하하하<br/>하하하<br/>하하하<br/>하하하
</div>
</div>
</div>
<br/>
<p style="background:#00d;">
안녕하세요 이곳은 재삐신생의 블로그 이빈다.
</p>
적용하면
하하하
하하하
하하하
하하하
하하하
하하하
하하하
하하하
하하하
하하하
안녕하세요 이곳은 재삐신생의 블로그 이빈다.
이것의 포인트는
아래쪽 첫 div요소와 p요소간의 레이아웃을 헤치지 않고
첫 div의 자식요소들이 보여지고 있는 현상이다. 이것은 마치 position:absolute를 시킨 것과도 비슷하다.
overflow:hidden도 마찬가지
메이저 브라우져에서 동일하게 보이는것으로 보아, 정상적인 것으로 보여지나, 뭔가 이상하다.
hover효과시 rolldown되는 메뉴를 만들때, position:absolute를 시켰던 예전 코드를 수정하다가
요소를 바꿨는데 이런현상이 발생하여, 신기한 마음에 한번 적어본다.
'dev > web' 카테고리의 다른 글
오프소스 VS 자체제작 (0) | 2013.03.28 |
---|---|
select box event bug in IE8 (2) | 2012.10.31 |
HTML의 최적화 고찰 (0) | 2012.07.23 |
개인 프레임웤이라니!! (0) | 2012.06.19 |
DTD때문에 짜증나~!! (0) | 2012.05.20 |