본문 바로가기
이것저것

CSS, CSS3 정보 활용

by 멀바띠 2014. 7. 3.
728x90
반응형

css 선택자, 속성, css3 활용

출처: 클리어보스


선택자(selector)

선택자는
type(element),universal(*),class/id,attribute(속성),가상요소/가상클래스,선택자결합(하위,자식,인접) 등으로 구성된다.


patternmeanings5c8f3.6o11i9i8i7i6
#idid로 지정된 요소 선택oooooooo
*모든 요소 선택oooooooo
.classclass로 지정된 요소 선택oooooooo
ee[element] 요소를 선택oooooooo
e, pe 와 p  요소를 선택oooooooo
e pe의 안에 p 요소를 선택(계속 자식으로 상속)oooooooo
e>fe 요소의 자식인 f 요소만 선택ooooooox
e+fe 요소 바로 뒤에있는 모든 f 요소를 선택ooooooox
e~fe 엘리먼트가 앞에 있는 모든 f 엘리먼트를 선택ooooooox
[target]대상 속성을 가진 모든 요소를 선택합니다ooooooox
e[target]'target' 속성이 포함된 모든 e를 선택ooooooox
e[target=_blank]'target' 속성의 값이 '_blank'와 일치하는 e를 모두 선택ooooooox
e[title~=flower]'target' 속성의 값에 'flower'가 포함되는 e를 선택ooooooox
e[lang|=en]'lang' 속성의 값이 'en' 또는 'en-' 으로 시작되는  e를 선택ooooooox
e:link방문하지 않은 e를 선택oooooooo
e:visited방문한 e를 선택oooooooo
e:hover마우스가 올라가 있는 동안 e를 선택oooooooo
e:active마우스 클릭 또는 키보드(enter)가 눌린 동안 e를 선택ooooooox
e:focusfocus가 머물러 있는 동안 e를 선택ooooooxx
e:first-lettere 요소의 첫 번째 문자 선택ooooooox
e:first-linee 요소의 첫 번째 라인 선택ooooooox
e:first-child첫 번째 자식 인 모든 e 요소를 선택ooooooox
e:lang(fr)html lang 속성의 값이 'fr'로 지정된 e를 선택ooooooxx
e:beforee 요소 전에 생성된 요소 선택ooooooxx
e:aftere 요소 후에 생성된 요소 선택ooooooxx
a[src^="https"]'a' 속성의 값이 'https'로 정확하게 시작하는 요소 선택ooooooox
a[src$=".pdf"]'a' 속성의 값이 '.pdf'로 정확하게 끝나는 요소 선택ooooooox
a[src*="w3schools"]'a' 속성의 값에 'w3schools'를 포함하는 요소 선택ooooooox
e:first-of-typee 요소 중 첫번째 e 선택oooooxxx
e:last-of-typee 요소 중 마지막 e 선택oooooxxx
div e:only-of-typediv 안에 e 요소가 유일하면 선택oooooxxx
div e:only-childdiv 안에 e 요소가 유일한 자식이면 선택 다른 형제 엘리먼트 존재하면 미선택oooooxxx
div e:nth-child(n)그 부모 div의 n번째 자식이면서 e 일때 선택 (태그에관계없이 n번째 e)oooooxxx
div e:nth-last-child(5)div 자식중 뒤로부터 5번째 자식이면서 e 일때 선택 (태그에관계없이 n번째 e)oooooxxx
e:nth-of-type(n)e 요소 중 앞으로부터 순서가 일치하는 n번째 e 요소 선택 (자식중 e 만 순서로 세어짐)oooooxxx
e:nth-last-of-type(n)e 요소 중 끝으로부터 순서가 일치하는 n번째 e 요소 선택 (자식중 e 만 순서로 세어짐)oooooxxx
e:last-childe 요소 중 마지막 자식이라면 e 선택oooooxxx
e:root문서의 최상위 루트 요소 선택oooooxxx
e:empty텍스트 및 공백(있으면 선택안함)을 포함하여 빈 자식을 가진 e를 선택oooooxxx
:target.html#news 형태로 anchor 이동 등으로 선택된 아이디(news)를 가진 엘리먼트 선택oooooxxx
input:enabled활성화된 폼 컨트롤 e요소 선택oooooxxx
input:disabled비활성화된 폼 컨트롤 e요소 선택oooooxxx
input:checked선택된 폼 컨트롤(라디오버튼,체크박스)을 선택oooooxxx
e:not(selector)e요소 중 selector가 아닌 e 요소 선택oooooxxx
::selection사용자가 선택한 요소의 부분을 선택합니다oooooxxx


:nth-child(2n+1), :nth-child(4n+1), :nth-child(4n+4), :nth-child(4n), :nth-child(5n-2), :nth-child(-n+3)

nthtable출처: css-tricks.com
n2n+14n+14n+44n5n-2-n+3
0114--3
1358432
25912881
3713161213-
4917201618-
51121242023-


article time:last-of-type

1
2
3
4
5
6
7
8
9
10
11
12
<section>
  <article>
    <h1>How to tune your ukelele</h1>
    <p>Article published at <time>8:00 AM</time>/* :last-of-type */</p>
    <p>Article commented on at <time>8:02 AM</time>/* :last-of-type */</p>
  </article>
  <article>
    <h1>Ukelele gets stolen!</h1>
    <p>Article published at <time>8:00 AM</time>/* :last-of-type */</p>
  <article>
<section>
</section></article></article></section>

벤더 별 확장 속성 및 브라우저 엔진

대부분의 브라우저 벤더들은 자신들의 브라우저가 현재 지원하는 속성이 표준과 상이하거나 변경될 수 있다라고 생각하고 벤더확장 속성을 만들었다.
실제로 속성을 지원하지만 100% 표준스펙이 나온 상태가 아니기 때문에 개선점이나 버그발생시 피드백을 쉽게 하기 위해 만든 것으로 보인다.


브라우저 밴더safarichromefirefoxoperai9i8i7i6
벤더확장 속성-webkit--webkit--moz--o--ms-/filter-ms-/filter-ms-/filter-ms-/filter
브라우저 엔진webkit 웹킷webkit→Blinkgecko 겍코presto→webkitGazelle 가젤tasman 타스먼


css3주요속성

css3에는 정말 다양한 속성들이 공개 되었는데 css의 기존버전과는 다르게 모듈형태로 개발되고 있다.
이것은 각종 브라우저나 다양한 디바이스가 필요에 따라 원하는 css 모듈만을 탑재하거나 특정 모듈만을 빠르게 업데이트 할 수 있는 장점이 있다.
css3는 현재 text, fonts, color, backgrounds&borders, transforms, transitions, animations과 같은 종류의 모듈들을 개발하고 있다.
그 모듈형태의 css3 여러 속성 중에서 이번 연재에서 배워볼 css3 주요속성은 아래와 같다.


moduleattributeeffects5c8f3.6o11i9i8i7i6
background &borderborder-image테두리 이미지효과ooooxxxx
border-radius테두리 라운드효과oooooxxx
box-shadow박스 그림자oooooxxx
multiple backgrounds배경 여러개 넣기oooooxxx
radient그라디언트 효과oooxxxxx
colorrgba(r,g,b,a)/hsla칼라와 투명도효과oooooxxx
opacity이미지 투명도효과ooooxxxx
texttext-shadow글자 그림자효과ooooxxxx
text-overflow글자 넘칠 때 자동 개행ooxooooo
user-interfaceresize박스 사이즈 조절효과ooooxxxx
other modulesmulti-column layout문단 다중 칼럼효과ooooxxxx

자세한 활용은 클리어보스를 참고



리스트 말줄임 overflow:ellipsis

1
li{width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}



출처: http://dohoons.com

선택영역 색깔 바꾸기

웹페이지에서 선택된 영역은 보통 파란색 블록으로 표시되는데
이 부분에 대한 스타일도 지정할 수 있습니다.


1
2
3
::selection { background:#966; color:#fff; }
::-moz-selection { background:#966; color:#fff; }
::-webkit-selection { background:#966; color:#fff; }



inline 요소의 줄바꿈시 공백없이 표현하기

1
2
3
4
5
6
7
<div style="font-size: 0;">
    <span style="font-size: 12px;">1</span>
    <span style="font-size: 12px;">2</span>
    <span style="font-size: 12px;">3</span>
    <span style="font-size: 12px;">4</span>
    <span style="font-size: 12px;">5</span>
</div>



728x90
반응형