차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:css [2014/10/20 15:37] – [text-decoration] V_L | tech:css [2016/07/12 00:56] (현재) – 바깥 편집 127.0.0.1 | ||
---|---|---|---|
줄 1: | 줄 1: | ||
- | ======CSS (Cascading Style Sheet) | + | {{tag> |
+ | ======CSS (Cascading Style Sheet) | ||
CSS(Cascading Style Sheet)는 마크업 언어가 실제 표시되는 방법을 기술하는 언어로, HTML과 XHTML에 주로 쓰이며, XML에서도 사용할 수 있다. W3C의 표준이며, | CSS(Cascading Style Sheet)는 마크업 언어가 실제 표시되는 방법을 기술하는 언어로, HTML과 XHTML에 주로 쓰이며, XML에서도 사용할 수 있다. W3C의 표준이며, | ||
줄 15: | 줄 16: | ||
+ | * [[CSS 초기화]] - CSS 간섭을 없앨때 사용. | ||
+ | * [[CSS 말줄임 사용]] | ||
+ | * [[Css 둥근테두리 사용]] | ||
http:// | http:// | ||
http:// | http:// | ||
- | |||
- | * <p style=" | ||
- | * <p style=" | ||
- | * <p style=" | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * | ||
- | * | ||
- | * | ||
- | * < | ||
- | * < | ||
- | * <p style=" | ||
- | * | ||
- | * {white-space: | ||
- | |||
- | =====선택자===== | ||
- | 선택자는 Type(element), | ||
- | |||
- | ^패턴|뜻^ | ||
- | |#id|id로 지정된 요소 선택| | ||
- | |.class|class로 지정된 요소 선택| | ||
- | |E|E 요소를 선택| | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |*|모든 요소 선택| | ||
- | |E: | ||
- | |E: | ||
- | |E:: | ||
- | |E::after|E 요소 후에 생성된 요소 선택| | ||
- | |E>F|E 요소의 자식인 F 요소 선택| | ||
- | |E+F|E 요소를 뒤의 F 요소 선택| | ||
- | |E[foo]|‘foo’ 속성이 포함된 E를 선택| | ||
- | |E[foo=" | ||
- | |E[foo~=" | ||
- | |E[foo%%|%%=" | ||
- | |E[foo%%^%%=" | ||
- | |E[foo$=" | ||
- | |E[foo*=" | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E: | ||
- | |E~F|E 요소가 앞에 존재하면 F를 선택| | ||
- | |||
- | http:// | ||
- | |||
- | ====복합 선택자(Combinator)==== | ||
- | |||
- | ===하위 선택자(Descendant Combinator)와 자식 선택자(Child Combinator)=== | ||
- | |||
- | ^패턴^의미^ | ||
- | |E F|E 요소의 **자손**인 F 요소를 선택합니다.| | ||
- | |E>F|E 요소의 **자식**인 F 요소만 선택합니다.| | ||
- | |||
- | 태그들이 포함 관계를 가질 때 포함하는 요소를 부모 요소, 포함되는 요소를 자식 요소라고 합니다. 하위 선택자는 부모 요소에 포함된 ‘모든’ 하위 요소에 스타일을 적용합니다. 하지만, 자식 선택자는 부모의 바로 아래 자식 요소에만 적용합니다 | ||
- | |||
- | {{http:// | ||
- | |||
- | ===인접 형제 선택자(Adjacent Sibling Combinator)와 일반 형제 선택자(General Sibling Combinator)=== | ||
- | |||
- | ^패턴^의미^ | ||
- | |E+F|E 요소를 뒤따르는 F 요소를 선택합니다.(E와 F 사이에 다른 요소가 존재하면 선택하지 않습니다.) | | ||
- | |E~F|E 요소가 앞에 존재하면 F를 선택합니다. (E가 F보다 먼저 등장하지 않으면 선택하지 않습니다.)| | ||
- | |||
- | 같은 부모 요소를 가지는 요소들을 형제 관계라고 부릅니다. 이 때 먼저 나오는 요소를 ‘형 요소’, 나중에 나오는 요소를 ‘동생 요소’라고 합니다. 먼저 나온다는 것은 html문서에 먼저 쓰여지는 것을 말합니다. | ||
- | |||
- | 인접 형제 선택자는 형제 중 첫번째 동생 요소가 조건을 충족시킬 때에만 스타일을 적용합니다. 하지만 일반 형제 선택자는 조건을 충족하는 모든 동생 요소에 스타일을 적용합니다. 두 선택자 모두 형 요소에는 적용되지 않습니다 | ||
- | |||
- | ===속성 선택자(Attribute Selectors)=== | ||
- | |||
- | 위에서 살펴본 선택자들은 태그나 클래스 이름, ID이름만 알면 그대로 스타일을 적용할 수 있습니다. 하지만 이제 살펴볼 속성 선택자는 클래스 속성이나 ID속성과 같이 대표적인 속성이 아닌 태그 안의 특정 속성들에 따라 스타일을 지정합니다. 속성 값의 조건에 따라 다양한 스타일을 지정할 수 있기 때문에 활용도가 높은 스타일 지정 방식입니다. | ||
- | |||
- | |E[foo]|‘foo’ 속성이 포함된 E를 선택| | ||
- | |E[foo=" | ||
- | |E[foo~=" | ||
- | |E[foo%%|%%=" | ||
- | |E[foo%%^%%=" | ||
- | |E[foo$=" | ||
- | |E[foo*=" | ||
- | |||
- | <file css> | ||
- | /* E[attr]형식 */ | ||
- | a[href] { background: yellowgreen; | ||
- | /* E[attr=" | ||
- | input[type=" | ||
- | |||
- | /* E[attr$=" | ||
- | a[href$=" | ||
- | |||
- | <!-- HTML --> | ||
- | <a href=" | ||
- | <input type=" | ||
- | <a href=" | ||
- | </ | ||
- | =====CSS 초기화 (Clearing; Reset)===== | ||
- | 여러 소스를 짜집기 할 때 서로 영향을 주는 경우 사용한다. | ||
- | <code css> html, body, div, span, applet, object, iframe, | ||
- | h1, h2, h3, h4, h5, h6, p, blockquote, pre, | ||
- | a, abbr, acronym, address, big, cite, code, | ||
- | del, dfn, em, font, img, ins, kbd, q, s, samp, | ||
- | small, strike, strong, sub, sup, tt, var, | ||
- | b, u, i, center, | ||
- | dl, dt, dd, ol, ul, li, | ||
- | fieldset, form, label, legend, | ||
- | table, caption, tbody, tfoot, thead, tr, th, td { | ||
- | margin: 0; | ||
- | padding: 0; | ||
- | border: 0; | ||
- | outline: 0; | ||
- | vertical-align: | ||
- | background: transparent; | ||
- | }</ | ||
- | 아니면 다음과 같은 파일을 사용할 수도 있다. | ||
- | <file css reset.css >html, body, div, span, applet, object, iframe, | ||
- | h1, h2, h3, h4, h5, h6, p, blockquote, pre, | ||
- | a, abbr, acronym, address, big, cite, code, | ||
- | del, dfn, em, font, img, ins, kbd, q, s, samp, | ||
- | small, strike, strong, sub, sup, tt, var, | ||
- | dl, dt, dd, ol, ul, li, | ||
- | fieldset, form, label, legend, | ||
- | table, caption, tbody, tfoot, thead, tr, th, td { | ||
- | margin: 0; | ||
- | padding: 0; | ||
- | border: 0; | ||
- | outline: 0; | ||
- | font-weight: | ||
- | font-style: inherit; | ||
- | font-size: 100%; | ||
- | font-family: | ||
- | vertical-align: | ||
- | } | ||
- | /* remember to define focus styles! */ | ||
- | :focus { | ||
- | outline: 0; | ||
- | } | ||
- | body { | ||
- | line-height: | ||
- | color: black; | ||
- | background: white; | ||
- | } | ||
- | ol, ul { | ||
- | list-style: none; | ||
- | } | ||
- | /* tables still need ' | ||
- | table { | ||
- | border-collapse: | ||
- | border-spacing: | ||
- | } | ||
- | caption, th, td { | ||
- | text-align: left; | ||
- | font-weight: | ||
- | } | ||
- | blockquote: | ||
- | q:before, q:after { | ||
- | content: ""; | ||
- | } | ||
- | blockquote, q { | ||
- | quotes: "" | ||
- | }</ | ||
=====background===== | =====background===== | ||
left top | left top | ||
줄 210: | 줄 37: | ||
center bottom | center bottom | ||
- | =====둥근 테두리===== | ||
- | ie9, 파폭, 크롬 등에서 지원함. | ||
- | <code css> | ||
- | /* 왼쪽위 */ | ||
- | | ||
- | -webkit-border-top-left-radius: | ||
- | -moz-border-radius-topleft: | ||
- | border-top-left-radius: | ||
- | | ||
- | /* 왼쪽아래 */ | ||
- | -webkit-border-bottom-left-radius: | ||
- | -moz-border-radius-bottomleft: | ||
- | border-bottom-left-radius: | ||
- | / | + | ===== 마진, 패딩 |
- | -webkit-border-top-right-radius: | + | |
- | -moz-border-radius-topright: | + | Margin & Padding |
- | border-top-right-radius: | + | |
- | /*오른쪽 아래*/ | + | |
- | -webkit-border-bottom-right-radius: | + | |
- | -moz-border-radius-bottomright: | + | |
- | border-bottom-right-radius: | + | |
- | </ | + | |
- | =====Margin | + | |
* margin 은 본문과 외부사이의 간격이다. | * margin 은 본문과 외부사이의 간격이다. | ||
* padding은 본문과 본문의 태두리와의 사이이구요. | * padding은 본문과 본문의 태두리와의 사이이구요. | ||
줄 240: | 줄 48: | ||
{{http:// | {{http:// | ||
- | ===== pt px em % 변환===== | ||
- | px * 0.0626 | + | 결과적으로 최종으로 차지하는 크기는 넓이의 경우 |
+ | 마진왼쪽+마진오른쪽+테두리선왼쪽두께+테두리선오른쪽두께+패딩왼쪽+패딩오른쪽+상자넓이 | ||
+ | 이런 식이다.. 이러니 크기를 계산하려면 산수를 해야 했다. | ||
- | 예를 들면 | + | 이제 |
- | + | 다 필요없고 최신 브라우져에서는 박스사이즈를 지원한다. | |
- | 15px * 0.0626 = 0.939em | + | padding에 상관 없이 지정한 크기로 유지된다. |
- | 77px * 0.0626 = 4.8em | + | |
- | 80px * 0.0626 = 5.008em | + | |
+ | <file css> | ||
+ | html { | ||
+ | box-sizing: | ||
+ | } | ||
- | ^ Points ^ Pixels ^ Ems ^ Percent | | + | *, *:before, *:after { |
- | | 6pt | 8px | 0.5em | 50% | | + | |
- | | 7pt | 9px | 0.55em | 55% | | + | } |
- | | 7.5pt | 10px | 0.625em | 62.5% | | + | </ |
- | | 8pt | 11px | 0.7em | 70% | | + | |
- | | 9pt | 12px | 0.75em | 75% | | + | |
- | | 10pt | 13px | 0.8em | 80% | | + | |
- | | 10.5pt | 14px | 0.875em | 87.5% | | + | |
- | | 11pt | 15px | 0.95em | 95% | | + | |
- | | 12pt | 16px | 1em | 100% | | + | |
- | | 13pt | 17px | 1.05em | 105% | | + | |
- | | 13.5pt | 18px | 1.125em | 112.5% | | + | |
- | | 14pt | 19px | 1.2em | 120% | | + | |
- | | 14.5pt | 20px | 1.25em | 125% | | + | |
- | | 15pt | 21px | 1.3em | 130% | | + | |
- | | 16pt | 22px | 1.4em | 140% | | + | |
- | | 17pt | 23px | 1.45em | 145% | | + | |
- | | 18pt | 24px | 1.5em | 150% | | + | |
- | | 20pt | 26px | 1.6em | 160% | | + | |
- | | 22pt | 29px | 1.8em | 180% | | + | |
- | | 24pt | 32px | 2em | 200% | | + | |
- | | 26pt | 35px | 2.2em | 220% | | + | |
- | | 27pt | 36px | 2.25em | 225% | | + | |
- | | 28pt | 37px | 2.3em | 230% | | + | |
- | | 29pt | 38px | 2.35em | 235% | | + | |
- | | 30pt | 40px | 2.45em | 245% | | + | |
- | | 32pt | 42px | 2.55em | 255% | | + | |
- | | 34pt | 45px | 2.75em | 275% | | + | |
- | | 36pt | 48px | 3em | 300% | | + | |
+ | {{: | ||
+ | |||
+ | jQuery 에서도 지원하므로 걱정없이 쓸 수 있다. | ||
+ | |||
+ | [참조] [[http:// | ||
- | ====줄이기 (...) ==== | ||
- | <file css> | ||
- | .ellipsis { width: 150px; text-overflow: | ||
- | </ | ||
=====display===== | =====display===== | ||
줄 297: | 줄 84: | ||
보이지만 않고 해당 공간은 존재. width와 height값을 주었다면 그만큼 공간은 존재하게 됨 | 보이지만 않고 해당 공간은 존재. width와 height값을 주었다면 그만큼 공간은 존재하게 됨 | ||
- | ====Float 탈출==== | ||
- | 부모 div에 '' | ||
=====< | =====< | ||
아직도 작동하지만 웹표준에서 삭제되었다. CSS를 이용한 정렬이 권장된다. | 아직도 작동하지만 웹표준에서 삭제되었다. CSS를 이용한 정렬이 권장된다. | ||
줄 321: | 줄 106: | ||
* [[http:// | * [[http:// | ||
- | {{tag> css html div center }} | + |