가상 선택자 :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 브라우저는 가상 요소 선택자를 지원하지 않습니다.
이게 무슨말인지 쉽게 설명좀 부탁드립니다 ㅜㅜ
댓글 7개
11년 전
쉽게 말하자면 내가 원할때 붙였다 뗐다 할수 있는 접미사 같은겁니다. 음.. 더 어려운가요 ;;;
물+컵 = 물컵 이런식으로 사용하는것처럼요 .
물+컵 = 물컵 이런식으로 사용하는것처럼요 .
11년 전
감사합니다. 쉽게 이해되었습니다!
kesan
11년 전
.container:after { content:"bbb"; clear:both; display:block; }
라고 하면
<div class="container">aaa</div>
aaa 다음에 bbb 가 나옵니다.
즉..
코드에는 없지만 가상으로 있는거 처럼 꾸며준다는 얘기죠...
라고 하면
<div class="container">aaa</div>
aaa 다음에 bbb 가 나옵니다.
즉..
코드에는 없지만 가상으로 있는거 처럼 꾸며준다는 얘기죠...
11년 전
감사합니다. 구체적으로 예를 들어주시니 이해되네여 ^___^
퍼블리셔지노군
11년 전
저는 :before / :after 가상 클래스를 많이 사용합니다.
특히나 오토 넘버링도 돼서 챕터나 세부 카테고리를 작성할 때에는 counter-increment를 사용하는 편입니다.
특히나 오토 넘버링도 돼서 챕터나 세부 카테고리를 작성할 때에는 counter-increment를 사용하는 편입니다.
11년 전
감사합니다 다음에 카운터인크리먼트도 공부해볼께여~
가브가있넹
11년 전
:before / :after 의 기본 개념은 '가상 텍스트노드 생성' 입니다. 단순히 가상 요소- 라기보단 '텍스트'요소라는 정의가 붙어있습니다.
보통들 기본 inline 요소로 만들어진 가상요소를 CSS에서 display:block 처리해주어서 블록요소로 만든다음에 사용하죠.
div:after -> HTML로 따지자면 종료태그의 바로 전라인에 content:"" 에 입력한 텍스트를 텍스트노드로 가상으로 삽입해주게됩니다.
:before 시작태그가 열린 바로다음줄에 (제일 첫번째 자식컨텐츠) content 로 입력해준 텍스트노드를 마찬가지로.. 가상으로 만들어줍니다 :) ㅎㅎ
보통들 기본 inline 요소로 만들어진 가상요소를 CSS에서 display:block 처리해주어서 블록요소로 만든다음에 사용하죠.
div:after -> HTML로 따지자면 종료태그의 바로 전라인에 content:"" 에 입력한 텍스트를 텍스트노드로 가상으로 삽입해주게됩니다.
:before 시작태그가 열린 바로다음줄에 (제일 첫번째 자식컨텐츠) content 로 입력해준 텍스트노드를 마찬가지로.. 가상으로 만들어줍니다 :) ㅎㅎ
게시글 목록
| 번호 | 제목 |
|---|---|
| 5638 | |
| 27321 | |
| 5637 | |
| 31931 | |
| 31925 | |
| 18979 |
jQuery
마우스 오버시 레이어 출력~
2
|
| 5633 | |
| 27316 | |
| 27307 | |
| 18976 |
jQuery
메뉴 고정
2
|
| 5631 | |
| 18974 | |
| 31919 | |
| 30803 | |
| 31911 | |
| 5625 | |
| 5623 | |
| 5620 | |
| 27298 | |
| 31904 | |
| 31887 | |
| 31884 | |
| 18967 |
jQuery
facebook timeline 스타일 따라하기
6
|
| 5616 | |
| 5611 | |
| 18963 | |
| 5608 | |
| 31881 | |
| 5601 | |
| 31866 | |
| 31862 | |
| 5599 | |
| 5595 | |
| 5592 | |
| 24497 | |
| 18958 | |
| 31859 | |
| 31855 | |
| 18952 | |
| 18946 |
JavaScript
html 테그 제거하는 함수
5
|
| 18942 |
JavaScript
새로고침(F5) 금지 하는 자바 스크립트
3
|
| 18939 |
JavaScript
자바스크립트 문자열 비교
2
|
| 18936 |
JavaScript
자바스크립트를 이용해 모니터 해상도 구하기
2
|
| 18933 |
JavaScript
모바일 접속시 모바일 페이지로 이동하기
2
|
| 5590 | |
| 5586 | |
| 18924 |
MySQL
SQL 문장의 실행순서
8
|
| 18915 |
MySQL
초보자들을 위한 팁(count편)
8
|
| 18913 | |
| 18908 |
MySQL
트리거를 이용한 날짜 자동 업데이트
4
|
| 27293 | |
| 5583 | |
| 5580 | |
| 18895 |
PHP
배열 순서 섞기
12
|
| 18886 |
JavaScript
체크박스 전체선택/해제/반전
8
|
| 18880 |
JavaScript
마우스휠이벤트 등록 및 활용
5
|
| 5576 | |
| 31840 | |
| 30792 | |
| 18869 |
JavaScript
부분 프린터하기
10
|
| 18866 |
JavaScript
GET으로 넘어온 파라미터 가져오기
2
|
| 18862 |
JavaScript
첨부파일 확장자 체크 [정규식]
3
|
| 18858 |
JavaScript
iframe 아이프레임 투명처리
3
|
| 5569 | |
| 5565 | |
| 27287 | |
| 18857 | |
| 18855 |
PHP
주민번호 검사기
1
|
| 18854 | |
| 18847 |
JavaScript
화면 줌(ZOOM); 필요한분이 있으려나...;
6
|
| 18843 | |
| 18841 | |
| 18840 |
PHP
utf8 체크하기
|
| 31825 | |
| 18839 | |
| 18835 | |
| 18833 | |
| 18832 |
JavaScript
내 쇼핑몰에 즐겨찾기 등록 버튼 만드는 방법
|
| 18822 |
JavaScript
네이버 지도 API 다중마커 구현 소스 입니다.
9
|
| 18820 |
PHP
카운터 늘리기 방법은?
1
|
| 5561 | |
| 31806 | |
| 18815 | |
| 31830 | |
| 18809 |
PHP
정규식 사용법입니다.
5
|
| 18807 | |
| 18806 | |
| 18803 | |
| 18801 | |
| 18800 | |
| 18796 | |
| 5559 | |
| 18793 | |
| 18791 |
PHP
자릿수만큼 문자열 채우기
1
|
| 5554 | |
| 31780 | |
| 31790 | |
| 31758 | |
| 24491 | |
| 27284 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기