웹마스터 팁


 일명 버그라고 알려져 있고, CSS를 사용할 때 수없이 사용되는 필수 학습해야 하는 코드입니다.


 왜 클리어픽스를 사용해야 하는지 먼저 알아볼까요?



 HTML 문서 구조에서 부모 요소가 자식 요소를 감싸고 있을 때, 자식 요소에게 float 형식을 적용하면 부모 요소가 자식 요소를 더 이상 감싸지 않게되고 높이 값을 파악하지 못하게 되는 버그가 발생합니다. 따라서 부모 요소의 높이 값이 0px로 출력되고, 전체적인 HTML 요소들이 뒤엉켜버리는 경우가 많습니다. 


 이 때 부모 요소가 다시 자식 요소를 감쌀 수 있게 float을 초기화(clear) 하여 버그를 고쳐주는(fix) 코드가 필요한데 이것을 clearfix라고 합니다.


 다양한 방법이 있는데, 저는 항상 이 코드를 사용합니다.


 마이크로 클리어픽스(Micro Clearfix)라고 불리구요. 코드가 가장 간결합니다.


/**
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    contenteditable attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that are clearfixed.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/**
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */
.cf {
    *zoom: 1;
}

출처: http://nicolasgallagher.com/micro-clearfix-hack/


 IE6, 7은 거의 사용되지 않으니 젤 하단의 코드는 사실 필요 없습니다.

 제가 강조시킨 부분만 해당 div 등의 요소에 .cf를 추가시키거나 상위 코드에 .cf를 해당 요소의 클래스 값으로 수정하셔도 상관 없습니다.


 사실 float은 클리어픽스 등 사용방법의 민감함 등으로 인해 저같은 경우는 잘 사용하지 않고, 사실 부모 요소에 position: relative;를 주고 자식 요소에 position: absolute;를 줘서 top: 10px; left: 20px; 이런 식으로 CSS를 짜는 경우가 많습니다.


 꽤 중요한 코드인데 팁 게시판에 없길래 올려봅니다. 이 글 보관 해두셨다가 필요하실 때마다 사용하시길!!

 

제목 글쓴이 날짜
모바일 사진 자동 회전 적용방법 [8] 더뿌 2014.02.11
웹뷰 개발시geocode(구글)활용법 file 웹빌드 2014.02.10
중복레코드 검색 및 삭제 ByteCMC 2014.02.10
그룹아이콘 모바일에서 표시하기 잉카러부 2014.02.09
XE를 사용중 백지현상이 있을경우 체크해볼 요소 [2] jambox 2014.02.08
스윙브라우저 유저분들 필독. [10] KSG2013 2014.02.08
1.7.4 - 페이지나 게시판 생성 후 설정화면에 가면 '사이트기본스킨사용' 이 적용되지 않는 버그 해결법 sejin7940 2014.02.08
누리고쇼핑몰에서 구주소에 새주소적용하기 [14] garnecia 2014.02.08
1.7.4 업데이트후 글쓰기 에러가 나신다면... [2] 맞장 2014.02.07
통합검색할때 회원별 권한에 따라 내용 보여주기 garnecia 2014.02.07
XE 1.7.4 새로운 우편번호 체계에서 나머지주소 관련 사용실수 방지방법입니다 [1] sejin7940 2014.02.07
[도로명주소 krzip] 1.7.4 이전 버전들에 이용하기 [3] XE플스 2014.02.06
관리자화면 상단의 업데이트 해야할 항목 안내문구 안 나오게 하는 방법 [1] sejin7940 2014.02.04
모바일레이아웃을 사용하되 모바일 게시판 스킨을 선택하지 않고 일반 게시판 스킨을 사용하는 방법 [4] sejin7940 2014.02.04
[XE 1.7] 스팸필터 설정이 안되는 경우 해결 방법 [3] 퍼니엑스이 2014.02.03
ux를 편리하게 하기 위한 css 팁 두랄루민 2014.02.03
1.5 -> 1.7 업글중 백지상태 부분!! una_nampyeon 2014.02.03
회원도 모듈별 적용된 포인트 보게하는 방법. [11] :DunhillBoy 2014.02.01
게시판 스킨 분석 [2] 이온디 2014.01.28
일반회원도 embed 태그 사용하는 방법! (다음/티스토리/구글드라이브 등) 가장 최근코어버전 해결완료!! [9] 주택바가지 2014.01.27