맨위로
믹시

CSS에서 디자인을 하다가 float된 요소를 자식으로 품고 있는 부모가 같이 float되지 않은 경우 자식이 부모 밖으로 튀어나가는 경우를 볼 수 있다. 아래처럼 말이다.

부모
자식

이런 경우 가장 깔금한 해결책(가상 선택자 :after와 zoom:1)을 담은 글을 발견해서 ... 펐다;; 아래 접었다 폈다를 펼치면 볼 수 있다.

원문은 http://naradesign.net/open_content/lecture/wp/ 에서 볼 수 있다. 원문에는 모든 해결책의 유형을 제시하고 있다.

접어두기..

가상 선택자 :after 를 사용하는 방법

.container:after { content:""; clear:both; display:block; }

가 상 선택자란 실제로는 존재하지 않는 요소나 특수한 상황에서만 발생하는 동적인 요소를 CSS 명령으로 제어하는 기법 입니다. 가상 선택자는 다시 '가상 클래스 선택자'와 '가상 요소 선택자'로 구분할 수 있는데요. 가상 클래스 선택자(:link, :visited, :hover, :active, :focus, :first-child)는 특정 요소에 마치 동적으로 class를 부여한 것과 같은 이치로 이용할 수 있습니다. 가상 요소 선택자(:first-line, :first-letter, :before, :after)는 실제로 존재하지 않는 요소를 마치 존재하는 것처럼 이용하는 기법 입니다. :after 라는 가상 요소 선택자는 content 라는 속성을 이용해서 .container 블럭이 끝나기 직전 content 속성의 값 "*" 을 화면에 출력할 수 있습니다. 이렇게 생성된 요소에 clear:both 속성을 부여하면 자식의 높이를 부모에게 전달할 수 있는데 실제로 HTML 코드에는 빈 요소가 존재하지 않기 때문에 가장 이상적인 방법이라고 할 수 있습니다. 그러나 IE 6~7 브라우저는 가상 요소 선택자를 지원하지 않습니다.

IE 전용 확장 zoom 속성을 이용하여 IE 6~7 문제 해결

.container { *zoom:1; }

IE 6~7 브라우저는 가상 요소 선택자 :after를 지원하지 않습니다. 그러나 CSS hack을 이용하여 자식의 높이를 부모에게 전달 할 수 있습니다. zoom:1 속 성은 IE 전용 확장 속성으로써 본래의 존재 목적은 IE 브라우저에서 웹 문서를 자유롭게 'zoom in / zoom out' 하는 것 입니다. 이 속성을 부여하게 되면 요소는 IE 브라우저에서만 존재하는 hasLayout 이라는 개념의 속성을 갖게 되는데 이 속성이 IE 브라우저에서 float 문제를 해결하는 trigger로 작용을 하고 다른 브라우저에는 영향을 미치지 않습니다. zoom 속성 앞에 '*'을 붙이는 이유는 현재는 존재하지 않지만 향후 zoom과 동일한 이름을 지닌 속성이 표준으로 등장하거나 다른 웹 브라우저에서 CSS 확장 속성으로 등장하더라도 이 코드를 무시하도록 만드는 'hack'을 사용한 것입니다. 속성 앞에 공백 없이 '*'을 붙이면 해당 속성은 IE 6~7 브라우저에서만 작용하게 됩니다







<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Float</title>
<style type="text/css">
.wrap { background:#CCCCCC; width:600px;}
.wrap:after { content:""; clear:both; display:block; *zoom:1;}
.left { float:left; width:200px; height:200px; background:#FF3333; }
.right { float:right; width:400px; height:100px; background:#0066FF }
</style>
</head>
<body>
<div class="wrap">
    <div class="left">Left</div>
    <div class="right">Right</div>
</div>
<div style="background:#00CC00; width:600px;  height:30px;">kimkee@naver.com</div>
</body>
</html>


안녕하세요!
이미지위자드 김기현입니다.

태그
엮인글 :
http://www.imgwizard.com/index.php?document_srl=45576&act=trackback&key=330
List of Articles
번호 제목 글쓴이 날짜 조회 수 최근 수정일
공지 Windows 웹개발관련 팁,소스등을 모아놓은곳입니다. file id: 김선생 2006-03-09 86382 2011-02-01 23:57

HTML/CSS 세로메뉴 CSS file

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="tex...

  • id: 김선생
  • 2010-03-11
  • 조회 수 8020
  • 2010-03-11 16:26

HTML/CSS Select 버튼 이미지처리 셀렉트 secret

비밀글 입니다.

  • id: 김선생
  • 2010-02-18
  • 조회 수 3857
  • 2011-05-05 10:06

Windows Attansic L1 내장 LAN으로 WOL 쓰기 원격부팅 [펌]

출처 : http://blahblah.springnote.com/pages/462057 Attansic L1 내장 LAN은 주로 ASUS에서 요새 보드들에 많이 사용하는 듯 하다. 단 P5L-MX 보드의 버그인지 칩 문제인지는 모르지만, FSB 오버클럭시 PCIE 클럭 고정해...

  • id: 김선생
  • 2010-02-11
  • 조회 수 8131
  • 2010-10-10 20:57

Windows 파이어 폭스 스크롤 내리기 조절하는 방법 file

파이어폭스 주소창에 about:config 치고 들어가서 mousewheel.withnokey.numlines 원하는숫자 입력.. 6정도하면IE랑 비슷해여 mousewheel.withnokey.sysnumlines 를 false 로 해야 적용됨

  • id: 김선생
  • 2010-02-09
  • 조회 수 6338
  • 2010-02-09 09:48

HTML/CSS 파이어폭스 부가기능 오류 해결방법

마키디어 블로그 구독자라면 마키디어가 파이어폭스의 팬이라는건 잘 아실것 같습니다. 그런데 최근 어느 순간 부터 부가기능에 오류가 생겨버려서 파이어폭스가 말썽을 부리기 시작하더군요. 도구에서 부가기능을 눌르면 에러메시지가...

  • id: 김선생
  • 2010-02-07
  • 조회 수 5513
  • 2010-02-07 23:39

HTML/CSS 익스8 호환성보기 없애기 file

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 위 태그를 헤드에 넣으면 ie8의 호환성 보기 버튼을 없앴수가 있답니다.

  • id: 김선생
  • 2010-02-05
  • 조회 수 7020
  • 2010-02-05 16:25

Windows 최고의 FTP프로그램 FileZilla 파일질라 file

일반인들이야 알 FTP 를 제일 많이 쓰지 않을까 싶은데 웹쪽으로 개발일을 하는 사람이면 알FTP쓰면 초짜냄새나는거다. ^^;; 파일질라를 써보고 가장 특징적이고 좋은점 2가지만 정리할게 1. 로컬쪽과 리모트 쪽을 같은 경로를...

  • id: 김선생
  • 2010-02-04
  • 조회 수 6488
  • 2010-09-08 14:45

HTML/CSS float된 자식의 높이를 부모가 감싸안도록 만들기

CSS에서 디자인을 하다가 float된 요소를 자식으로 품고 있는 부모가 같이 float되지 않은 경우 자식이 부모 밖으로 튀어나가는 경우를 볼 수 있다. 아래처럼 말이다. 부모 자식 이런 경우 가장 깔금한 해결책(가상 선택자 :a...

  • id: 김선생
  • 2010-02-04
  • 조회 수 7140
  • 2010-02-04 21:56

HTML/CSS 각 브라우저에 적용되는 CSS 핵 최신판! file

CSS핵은 권장하는 것이 아니지만, 버전별로 다양한 모습을 보여주시는 IE 덕분에 사용하지 않을수 없는그런 존재입니다. CSS 핵이 잘 정리되어 있는 곳은 여기저기 많지만, 모던브라우저의 경우 업데이트가 많이 되어 CSS 핵 ...

  • id: 김선생
  • 2010-02-04
  • 조회 수 8362
  • 2010-02-04 21:57

Windows EVEREST Ultimate Edition v5.30 file

EVEREST Ultimate Edition v5.30 Trial version, self-installing EXE package 2009-10-03 9.7 MB Download http://www.lavalys.com/products.php?ps=UE&lang=en&page=48 HZW7FME747AYFWWBRFQFL1R33

  • id: 김선생
  • 2010-02-04
  • 조회 수 3901
  • 2010-02-04 11:18