SlideShare ist ein Scribd-Unternehmen logo
1 von 29
엘리먼트는 좌우의 날개로 난다
CSS 가상선택자로 풍부한 표현하기
2014.05.17
하드코딩하는사람들 빼로
About 빼로
1) 빼빼로 데이에 태어남
2) 8년차 Front-end Developer
3) 마이다스아이티에서 근무 중
4) 웹 관련 교육에 관심이 많음
5) 웹 어플리케이션, 플래시 대체 모션 구현
가상선택자란?
가상 선택자(pseudo selector)
가상 클래스(pseudo class) 가상 엘리먼트(pseudo element)
 :hover
 :active
 :link
 :visited
 :first-child
 :nth-child
 ::first-letter
 ::first-line
 ::before
 ::after
오늘 우리가 배울 내용!
얼핏 보면 한겹같지만
속을 살짝 까보면 세겹!
삼겹살 엘리먼트
엘리먼트의 구조
#element
엘리먼트 본문이
나오기 전 컨텐츠를
삽입할 수 있음
우리가 흔히
사용하는 엘리먼트
바로 그것!
엘리먼트 본문이
나온 후 컨텐츠를
삽입할 수 있음
#element:before #element #element:after
가상선택자 :before와 :after
 컨텐츠를 넣을 수 있다.
 가로세로 값을 가질 수 있다.
 포지션을 잡을 수 있다.
 테두리선과 배경을 지정할 수 있다.
 Attribute값을 가져올 수 있다.
=> 풍부한 표현이 가능하다!
가상선택자의 특징
.clear {
content:””;
display:block;
clear:both;
}
우리에게 친숙한 :after
:after를 이용한 float clear하기
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
IE6, IE7이
지원하지 않는다!
지금까지 사용하지 못한 이유
이제는 사용할 수 있는 이유
출처 : StatCounter 2014년 4월 대한민국 통계
출처 : http://caniuse.com/#feat=css-gencontent
지원 브라우저
 싱글 콜론은 CSS2.1 규격 :before :after
 더블 콜론은 CSS3 규격 ::before ::after
CSS3 지원 브라우저만 적용하려면 더블콜론
IE8에도 적용하려면 싱글콜론
싱글콜론 : 과 더블콜론 ::의 차이
무엇을 할 수 있을까?
:before를 이용한 블릿처리
<ul class=“list”>
<li>회원공지</li>
<li>등업요청</li>
<li>가입인사</li>
<li>내소개하기</li>
<li>수다방</li>
<li>멘붕게시판</li>
</ul>
.list>li:before {
content:”- “;
}
HTML CSS
:before를 이용한 블릿처리
마크업이 아니기 때문에
센스리더가 읽지 않아요!
결과물 웹 접근성 측면
:after를 이용한 Attribute 추가정보 제공하기
<a href=“http://www.hacosa.com”>하코사</a>
a:after {
content:”(“attr(href)”)”;
}
HTML
CSS
결과물
하코사(http://www.hacosa.com)
스탭 가이드 만들기
본격! 풍부한 표현하기
스탭 가이드 만들기
HTML CSS 기본설정
자동비율 Width
엘리먼트보다 가상선택자가
상위 레이어라서 z-index 설정
100%는 동그라미
IE8에서 네모로 보임
스탭 가이드 만들기
CSS 가상선택자 설정 CSS 활성화 설정
표현용도의 before와 after는
레이어 우선순위만 차이가 있음
(after가 늦게 렌더링 되어 before보다 상단에 위치)
지금같이 둘 중 하나만 사용할 때는 아무거나 사용해도 상관없음!
CSS3 지원 브라우저에만 적용할거면
.last클래스보다 :last-child를 사용해보자!
칸막이 만들기
본격! 풍부한 표현하기
CSS
칸막이 만들기
HTML
content가 빠지면 레이어가 나오지 않음
내용이 없어도 꼭 넣을것!
요 아래 내용은 아주 중요!
Height가 Border 높이,
Top이 위치가 된다.
두 값에 따라 위치와 길이가 결정됨
:first-child와 :before의 순서가 바뀌면 안됨!
li의 첫번째 엘리먼트의 before를 선택한 것
이미 설정한 가상 선택자의 속성을 없애고 싶을 땐
간단하게 content를 none으로 설정해주자
모든 CSS 속성이 해제된다
일반 엘리먼트의 display:none 급 효과
포지션 부모설정
칸막이 만들기 - 생각해보기
디자이너가 다음과 같은 테이블 헤더가 담긴 디자인을 보내왔다.
어떻게 해결할 수 있을까?
삼각형으로 다양한 표현하기
본격! 풍부한 표현하기
삼각형으로 다양한 표현하기
HTML
결과물
Width나 Height가 0일때
삼각형 형성
아니! 그런 비밀이!?
삼각형으로 다양한 표현하기
기본설정
위 네모를 border-방향-color: transparent를 이용하여
세모 모양으로 잘라낼 수 있음(배경을 투명하게 한다)
※ Border가 50px이기 때문에 가로세로 총 100px
border 아래 적어주자
예) border-top-color: transparent
삼각형으로 다양한 표현하기
Border-top-color Border-left-colorBorder-bottom-colorBorder-right-color
Border-top-color
Border-bottom-color
Border-right-color
Border-left-color Border-bottom-color
Border-right-color Border-top-color
Border-left-color
Border-top-color
Border-right-color
Border-left-color
Border-right-color
Border-left-color
Border-bottom-color Border-top-color
Border-bottom-color
Border-right-color Border-left-color
Border-top-color
Border-bottom-color
삼각형으로 다양한 표현하기 - 생각해보기
삼각형으로 다양한 도형 표현해보기 레이어 팝업을 말풍선으로 표현해보기
양쪽 모두 효과가 들어간 도형은
:before와 :after를 동시에 사용해야 함!
마치며
IE6도 없고… IE7도 없고…
IE8은 과연 몇 년을 버틸 수 있을까?
동렬이도 없고…
종범이도 없고…
머지않은 미래에 우리는…
캔버스, Transition, Transform…
얼마 남지 않았습니다!
감사합니다

Weitere ähnliche Inhalte

Ähnlich wie 엘리먼트는 좌우의 날개로 난다

Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Dong Chan Shin
 
막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)연웅 조
 
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1정환 임
 
Holub on-patterns-2-1
Holub on-patterns-2-1Holub on-patterns-2-1
Holub on-patterns-2-1정환 임
 
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
 [NEXT] Android 개발 경험 프로젝트 3일차 (Database) [NEXT] Android 개발 경험 프로젝트 3일차 (Database)
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)YoungSu Son
 
보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계Eb Styles
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차Michael Yang
 
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기설리번 프로젝트
 
[별천지 세미나] CSS3 Animation
[별천지 세미나] CSS3 Animation[별천지 세미나] CSS3 Animation
[별천지 세미나] CSS3 Animation양귀 김
 
Effective c++ chapter5 6_ 131039 신동찬
Effective c++ chapter5 6_ 131039 신동찬Effective c++ chapter5 6_ 131039 신동찬
Effective c++ chapter5 6_ 131039 신동찬Dong Chan Shin
 
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5J B
 
Effective c++chapter1 and2
Effective c++chapter1 and2Effective c++chapter1 and2
Effective c++chapter1 and2성연 김
 
잘 알고 있습니까? html + css &lt;#1>
잘 알고 있습니까? html + css &lt;#1>잘 알고 있습니까? html + css &lt;#1>
잘 알고 있습니까? html + css &lt;#1>Eb Styles
 
[20160115] 작심 10시간 - CSS
[20160115] 작심 10시간 - CSS[20160115] 작심 10시간 - CSS
[20160115] 작심 10시간 - CSSWonjun Shin
 
M5 6 1
M5 6 1M5 6 1
M5 6 1nexthw
 

Ähnlich wie 엘리먼트는 좌우의 날개로 난다 (20)

Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기Project anarchy로 3d 게임 만들기 part_2_vforge피하기
Project anarchy로 3d 게임 만들기 part_2_vforge피하기
 
막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)막하는 스터디 네 번째 만남 AngularJs (20151108)
막하는 스터디 네 번째 만남 AngularJs (20151108)
 
HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1HolubOnPatterns/chapter2_1
HolubOnPatterns/chapter2_1
 
Holub on-patterns-2-1
Holub on-patterns-2-1Holub on-patterns-2-1
Holub on-patterns-2-1
 
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
 [NEXT] Android 개발 경험 프로젝트 3일차 (Database) [NEXT] Android 개발 경험 프로젝트 3일차 (Database)
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
 
03 jsx
03 jsx03 jsx
03 jsx
 
Web_05_ jQuery
Web_05_ jQueryWeb_05_ jQuery
Web_05_ jQuery
 
보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 10일차
 
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기
02_CSS -작심 10시간! 나만의 웹사이트 기획하고 만들기
 
[별천지 세미나] CSS3 Animation
[별천지 세미나] CSS3 Animation[별천지 세미나] CSS3 Animation
[별천지 세미나] CSS3 Animation
 
[week17] D3.js_Tooltip
[week17] D3.js_Tooltip[week17] D3.js_Tooltip
[week17] D3.js_Tooltip
 
Effective c++ chapter5 6_ 131039 신동찬
Effective c++ chapter5 6_ 131039 신동찬Effective c++ chapter5 6_ 131039 신동찬
Effective c++ chapter5 6_ 131039 신동찬
 
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5
 
Web_02 CSS
Web_02 CSSWeb_02 CSS
Web_02 CSS
 
Effective c++chapter1 and2
Effective c++chapter1 and2Effective c++chapter1 and2
Effective c++chapter1 and2
 
잘 알고 있습니까? html + css &lt;#1>
잘 알고 있습니까? html + css &lt;#1>잘 알고 있습니까? html + css &lt;#1>
잘 알고 있습니까? html + css &lt;#1>
 
[20160115] 작심 10시간 - CSS
[20160115] 작심 10시간 - CSS[20160115] 작심 10시간 - CSS
[20160115] 작심 10시간 - CSS
 
Web_03_Front-end Advance
Web_03_Front-end AdvanceWeb_03_Front-end Advance
Web_03_Front-end Advance
 
M5 6 1
M5 6 1M5 6 1
M5 6 1
 

Mehr von 정석 양

[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우
[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우
[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우정석 양
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery정석 양
 
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱정석 양
 
[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발
[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발
[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발정석 양
 
Html 바로보기
Html 바로보기Html 바로보기
Html 바로보기정석 양
 
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기정석 양
 

Mehr von 정석 양 (6)

[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우
[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우
[하코사세미나]표현하기 난해한 디자인에 대처하는 노하우
 
[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery[하코사세미나] 한 시간 만에 배우는 Jquery
[하코사세미나] 한 시간 만에 배우는 Jquery
 
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱
[ 하코사세미나] 의외로 쉬운 D3 그래프 퍼블리싱
 
[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발
[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발
[하코사세미나]미리보는 대규모 자바스크립트 어플리케이션 개발
 
Html 바로보기
Html 바로보기Html 바로보기
Html 바로보기
 
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기
 

엘리먼트는 좌우의 날개로 난다