[CSS란?]
CSS 또는 캐스케이딩 스타일 시트(Cascading Style Sheet)는 마크업 언어가 실제로 표시되는 방법을 기술하는 언어로, HTML과 XHTML에 주로 쓰이며,
XML에서도 사용할 수 있음.
CSS는 W3C의 표준이며, 레이아웃과 스타일을 정의할 때의 자유도가 높은 언어임.
CSS는 웹 사이트에서 사용되는 스타일을 지정하기 위한 언어로, 스타일은 웹의 독창적인 개념이 아니라 웹 이전부터 워드프로세스 등에 사용했던 개념임
.
1996년 W3C의 주도하에 첫 번째 CSS 버전인 CSS Level 1이 발표.
1998년에 CSS Level 2가 등장하면서 대부분의 웹 브라우저들이 CSS Level 2를 지원하기 시작
그 후 CSS Level 2의 버그를 수정한 CSS Level 2.1이 2006년에 발표되면서 현재까지 표준으로 사용되고 있음.
CSS Level 3는 CSS Level 2.1과 달리 모든 명세가 포함된 버전이 아닌 모듈 단위로 개발되고 있으며, 표 준화가 모듈 단위로 진행되고 있음. 이 중 몇
몇 모듈은 현재 Recomendation(권고안) 단계에 있으며, Working Draft(초안) 단계에 머물러 있는 모듈도 있음.
[CSS 사용의 의의]
스타일 사용의 중요한 의의는 문서의 구조와 표현을 분리할 수 있다는 점을 들 수 있으며 이는 구조와 표현을 분리함으로써 문서 구조의 수정 없이 스타
일의 변경만으로 다양한 표현을 할 수 있다는 것을 의미함.
웹 문서에 있어 구조와 표현의 분리는 워드프로세서 문서보다 중요할 수 있음. 그 이유 중 하나는 웹 문서가 기계적으로 해석될 수 있는 가능성이 높아
지기 때문임. 기계적으로 해석되는 것은 CSS가 아니라 HTML이지만, 구조와 무관한 표현적 요소를 CSS로 분리함으로써 HTML은 간결해지고 더욱 구조 화
될 수 있기 때문임.
[CSS3 웹 브라우저별 접두사(vendor prefix) ]
CSS3는 표준안이 아직 확정되지 않은 상태이기 때문에 최신 웹 브라우저들은 CSS3 속성을 실험적으로 제공하고 있음. 이를 위해 속성이나 속성 값 앞에
웹 브라우저별로 접두사(vendor prefix)를 제공하고 있으며 이 접두사의 경우 웹 브라우저별로 다르기 때문에 하나의 속성을 선언하기 위해서는 여러
번의 동 일한 선언을 지정해야 함.
파이어폭스 -moz-
크롭, 사파리 -webkit-
오페라 -o-
익스플로러 -ms-
[스타일 시트의 구성요소]
· 선택자(Selector)
- HTML 문서에서 스타일을 정의할 대상을 의미한다.
- 하나 또는 그 이상의 선택자가 지정될 수 있다.
- 선택자의 나열은 “,”로 한다.
· 선언(Declaration)
- 선택자에게 지정한 스타일을 의미한다.
- 속성(Property)과 속성값(Value)으로 구성된다.
- 속성과 속성값은 “:”으로 구분한다.
- 선언은 반드시 “;”으로 끝나야 한다.
1. 전체 선택자(Universal Selector)는 모든 요소를 선택하는 방법으로, "*"를 선택자로 선언.ex--> *{속성:속성값;}
2. 클래스 선택자클래스 선택자(Class Selector)는 HTML 요소의 class 속성 값을 참조하여 선택하는 방법.이때 class 속성 값은 하나의 HTML 요소에 여러 개를 지정할 수 있기 때문에 다중 class를 선택자로 지정할 수도 있음.
3. 아이디 선택자아이디 선택자(ID Selector)는 HTML 요소의 id 속성 값을 참조하여 선택하는 방법.이때 id 속성 값은 하나의 HTML 문서에 한 번만 사용할 수 있기 때문에 아이디 선택자를 사용하면 유일한 요소를 선택할 수 있음.
4. 가상 클래스 선택자(Pseudo–classes Selector)는 요소의 상태나 상황에 따라 선택하는 방법으로,링크의 경우 방문하기 전, 방문한 후, 링크 위에 마우스를 올려놓거나 포커스 시 등의 상황을 선택하여 스타일을 지정할 수 있음.또한 언어에 따른 구분이나 마크업 구조에 따라 특정 요소를 선택할 수도 있음.동적 가상 클래스(Dynamic pseudo-classes) –:link, :visited, :active, :hover, :focus
5. 하위 선택자(Descendant Combinator)방식은 선택자와 선택자를 공란으로 선언하며, 선행 선택자의 하위 요소 중 후행 선택자해당하는 요소를 선택하는 방법.
6. 자식 선택자(Child Combinator) 방식은 선행 선택자인 부모 요소 하위에 포함된 후행 선택자인 자식 요소를 선택하는 방법.이때 부모 선택자와 자식 선택자는 ">"로 구분하여 선언.ex --> #main < div{속성: 속성값;}
7. 형제 선택자(Sibling Combinators)는 기본 형제 선택자(General Sibling Combinators)와 인접 형제 선택자(Adjacent Sibling Cobnators)로 구분할 수 있음.이때 기본 형제 선택자는 선행 선택자와 후행 선택자를 "+"로 구분하여 선언하고, 인접 형제 선택자는 "~"로 구분하여 선언.ex --> 선택자 + 선택자{속성:속성값;} 선택자 ~ 선택자{속성:속성값;}
8. 선택자 그룹화앞에서 살펴본 모든 선택자는 콤마(,)를 사용하여 그룹으로 한 번에 선언할 수 있음. 선택자를 그룹으로 선언할 경우, 선언된 모든 선택자에는 동일한 선언이 적용됨.ex --> 선택자, 선택자{속성:속성값;}
[스타일 시트 선언방법]
1.내부 스타일 시트 : <head>와 </head>사이에 선언
</style>
2. 외부 스타일 시트 : 외부의 파일로 작성한 후 <LINK> 또는 @import 명령을 이용하여 선언하는 방법
를 이용하여 연결- 형식 :
3. 인라인 스타일 시트 : 일반 html 태그에 스타일을 직접 지정하는 방법
- <태그 style = "속성:속성값; 속성:속성값“> 문장 </태그>
- 단, <head>와 <title>에서는 사용할 수 없다.
[스타일 시트에서 사용하는 단위]
- 절대적 단위 : in, cm, mm, pt, px
- 상대적 단위 : em,ex
[ Font 관련 스타일]
- font "값들만“ : 대표속성
- font-family : 글꼴, 글꼴 이름은 쉼표(,)로 구분, 글꼴 이름이 두 단어 이상이면 큰 따옴표로 묶는다. 브라우저는 앞에 있는 글꼴 부터 보여준다.
- font-style "normal, italic, oblique" : 기울임꼴을 적용
- font-variant "normal, small-caps" :small-caps 크기가 작은 대문자
- font-weight "normal, bold, 100~900" : 글자 굵기normal=400, bold=700, 숫자는 인식 못하는 경우 있음
- font-size "숫자em(상위 element 크기에 배수), 숫자pt" : 글자 크기 유전되지 않음
[Text 관련 스타일]
- line-height "normal, 숫자, 숫자em, %“ : 줄간격- text-indent "숫자em, 퍼센트, 숫자“ : 들여쓰기, 음수사용시 내어쓰기
- text-align "left, right, center, justify" : 텍스트나 이미지 수평정렬
- text-decoration “none, underline, overline, line-through" : 줄 긋기 유전되지 않음
- letter-spacing "normal, 숫자em, 숫자“ : 글자 간격
- text-transform "capitalize, uppercase, lowercase, none" : 영문자 변환 첫글자만 대문자 소문자․ vertical-align "baseline, sup, sub, middle, text-top, - top, text-bottom, bottom" :텍스트나 이미지 수직정렬
[색상과 배경에 관련된 스타일]
- color "영문자, RGB“ : 글자 및 밑줄 색
- background-color "영문자, RGB, transparent" : 배경색
- background-image "none, url(파일위치)“ : 배경 그림
- background-repeat "repeat, repeat-x, repeat-y, no-repeat" : 배경이미지 반복 여부
- background-attachment "scroll, fixed" : 화면이 스크롤 될 때 이동여부
- background-position "top, bottom, left, center, right, 가로% 세로%“ : 이미지 반복 여부 가로p 세로p(음수 사용됨)
[RGBA 형식 및 HSLA 형식의 사용 예]
http://www.colorpicker.com/
RGBA형식 --> color:rgba(255, 127, 45, 0.5)
color:rgba(red, greeen, blue, 투명도)
http://www.workwithcolor.com/hsl-color-picker-01.htm
HSLA형식 --> color:hsla(0, 0%, 100%, 0.5)
color:hsla(색상, 채도, 명도, 투명도)
인라인레벨요소
img, a, span, strong
주로 내용부분 즉 화면에 표시한 콘텐츠들
한줄에 여러개가 정렬.
자신만 크기를 인식하여 표시함
width, height를 적용하여 사용할 수 없다.
블록레벨요소
div, p, ul, li, h1~h6........
기본적으로 세로정렬
한줄에는 하나차지합니다 즉 가로폭을 자신이 100%인식함
width, height를 적용하여 사용합니다
display: 화면 보여주는 방식
display:none; 화면에서 숨김.
display:block; 블록레벨요소로 만듬.
(화면에 보여줌)
display:inline; 인라인레벨로 만듬
display:inline-block; 인라인레벨이면서 가로값과 세로값이 적용됨.
visibility:화면에 보이거나 숨기거나 함.
visibility:hidden; 화면에서 숨김
visibility:visible; 화면에서 보여줌
position:요소(태그)를 내가 원하는 위치에 배치
top, right, bottom, left(기본으로 top, left를 사용)
*******position들을 특정한 영역을 기준으로할때는
특정영역의 선택자에게 position:relative; 함
position:absolute; 절대값으로 원하는 위치에 배치
position:relative; 상대적(다른요소에 영향을 받음)으로 원하는 위치에 배치
position:fixed; 원하는 위치에 고정하여 배치
position:static; 문서의 흐름에 맞춰서 배치
float:배치
float:left;요소를 왼쪽 배치
float:right;요소를 오른쪽 배치
*****웹페이지를 가운데 정렬은 margin: 0 auto;
clear: float배치설정을 무시하고 새롭게 배치를 하는 속성
clear:left;
clear:right;
margin: 요소의 테두를 기준으로 바깥쪽 여백
margin: 0 0; 마진의 세로값 가로값
margin:0 0 0; 위 좌우 아래
margin: 0 0 0 0; top right bottom left
margin-top, margin-right, margin-bottom, margin-left 하나하나 마진을 적용할때
*****두개요소의 마진값이 중복이 될때 큰값이 적용됨.
padding:요소의 테두를 기준으로 안쪽 여백
padding: 0 0; 패딩의 세로값 가로값
padding:0 0 0; 위 좌우 아래
padding: 0 0 0 0; top right bottom left
padding-top, padding-right, padding-bottom, padding-left 하나하나 패딩을 적용할때
*****패딩은 안쪽 여백이므로 값이 요소의 가로값, 세로값에서 벗어나면 요소가 크기가 변화됨
background: 배경색이 들어갈수도 있고 배경 이미지가 들어갈수도 있음
하나의 요소에는 한번이상 사용불가. 사용했다면 마지막에 적용한 background값이 적용됨
background-image와 background-colord의 복합형.
(background:#000; background:url(img/coforwardQr2.png) no-repeat 0 0;)
background-image:url(img/coforwardQr2.png);
background-repeat:no-repeat;
background-position:0 0;(단위가 100px 100px;/ 100% 100%/ 가로(left,center, right) 세로(top, center, bottom)
->복합형 background:url(img/coforwardQr2.png) no-repeat 0 0;
:css3에서는 백그라운드 이미지를 여러개를 사용할수 있게 되었음
ex -->
<style type="text/css">
#exampleSub{
height:200px;
border:1px solid #ccc;
text-align:center;
background:url(img/coforwardQr2.png);
background:
url(img/checkBox1.png) left top no-repeat,
url(img/checkbox2.png) right top no-repeat,
url(img/checkbox3.png) left bottom no-repeat,
url(img/checkbox4.png) right bottom no-repeat,
url(img/checkbox5.png) center center no-repeat,
url(img/coforwardText.png);
}
</style>
<div id="exampleSub">
<span class="exampleDesc">background-image example</span>
</div>
background-clip : [keyword]
;백 그라운 이미지 표시 영역을 지정함.
keyword : •padding-box : padding영역부터 까지 배경 이미지를 표시함 (기본값)
•border-box : border영역까지 배경 이미지를 표시함
ex -->
<style type="text/css">
#exampleSub div{
margin:0 auto;
margin-bottom:15px;
width:70%;
height:80px;
padding:20px;
border:rgba(0,255,0,0.5) solid 20px;
}
#border-box{
background:url(img/photo3.gif);
background-clip:border-box;
-webkit-background-clip:border-box;
-moz-background-clip:border-box;
}
#padding-box{
background:url(img/photo3.gif);
background-clip:padding-box;
-webkit-background-clip:padding-box;
-moz-background-clip:padding-box;
}
</style>
<div id="exampleSub">
<div id="padding-box">
<span class="exampleDesc">padding-box</span>
</div>
<div id="border-box">
<span class="exampleDesc">border-box</span>
</div>
</div>
background-origin : [keyword]
;백 그라운 이미지 원점을 지정함.
keyword : •padding-box : padding영역부터 이미지를 배치함 (기본값)
•border-box : border영역부터 이미지를 배치함
•content-box : content영역부터 이미지를 배치함
ex -->
<style type="text/css">
#exampleSub div{
margin:10px; width:110px; height:80px;
padding:20px; border:rgba(0,255,0,0.5) solid 20px;
float:left;
}
#border-box{
background:#999 url(img/photo3.gif) no-repeat;
background-origin:border-box;
-webkit-background-origin:border-box;
-moz-background-origin:border-box;
}
#padding-box{
background:#999 url(img/photo3.gif) no-repeat;
background-origin:padding-box;
-webkit-background-origin:padding-box;
-moz-background-origin:padding-box;
}
#content-box{
background:#999 url(img/photo3.gif) no-repeat;
background-origin:content-box;
-webkit-background-origin:content-box;
-moz-background-origin:content-box;
}
</style>
<div id="exampleSub">
<div id="padding-box">
<span class="exampleDesc">padding-box</span>
</div>
<div id="border-box">
<span class="exampleDesc">border-box</span>
</div>
<div id="content-box">
<span class="exampleDesc">content-box</span>
</div>
</div>
background-size : [x], [y]
;백 그라운 이미지의 크기를 지정한다.
[x]% [y]% : 적용되는 요소의 크기에 비례하여 배경 이미지 적용
[x]px [y]px : 절대 크기로 배경 이미지 적용
100%: 배경이미지가 적용된 요소의 크기에 맞춤(크기의 변화가 생기면 배경의사이즈도 변화생김.)
auto: 배경이미지의 원래크기를 그대로 유지
cover : 배경 이미지를 늘여 적용되는 요소 전체에 표시
배경이미지 영역의 사이즈 바뀔때-> 이미지의 가로,세로크기중 작은크기를 기준으로
배경이미지의 사이즈 변화생김
contain : 배경 이미지의 가로 세로 비율을 맞춰 요소에 표시할수 있는 최대 크기로 표시
배경이미지 영역의 사이즈 바뀔때-> 이미지의 가로,세로크기중 큰크기를 기준으로
배경이미지의 사이즈 변화생김
ex -->
<style type="text/css">
#box_rel{ background-size:40% 70%;
-webkit-background-size:40% 70%;
-moz-background-size:40% 70%; }
#box_abs{ background-size:50px 50px;
-webkit-background-size:50px 50px;
-moz-background-size:50px 50px; }
#box_cover{ background-size:cover;
-webkit-background-size:cover;
-moz-background-size:cover; }
#box_contain{ background-size:contain;
-webkit-background-size:contain;
-moz-background-size:contain; }
</style>
<div id="exampleSub">
<div id="box_org">
<span class="exampleDesc">원본 크기</span>
</div>
<div id="box_rel">
<span class="exampleDesc">40% 70%</span>
</div>
<div id="box_abs">
<span class="exampleDesc">50px 50px</span>
</div>
<div id="box_cover">
<span class="exampleDesc">cover</span>
</div>
<div id="box_contain">
<span class="exampleDesc">contain</span>
</div>
</div>
gradient
:gradient를 생성함
http://www.colorzilla.com/gradient-editor/
<style type="text/css">
#exampleSub div{
margin-bottom:30px;
width:100%;
height:65px;
}
#gradientBox01 .ex01{
background:-webkit-gradient(linear, left top, left bottom, from(#f00), to(#fff));
background:-moz-linear-gradient(top,#afbc22, #fff);
}
#gradientBox01 .ex02{
background:#676300;
background:-webkit-gradient(linear, left bottom, right top, from(#00f), to(#fff));
background:-moz-linear-gradient(bottom 45deg, #676300, #fff);
}
#gradientBox02 .ex01{
background:-webkit-gradient(radial, center center, 9, center center, 70, from(#0f0), to(#6caddf));
background:-moz-radial-gradient(circle, #0f0, #6caddf);
}
#gradientBox02 .ex02{
background:#6caddf;
background:-webkit-gradient(radial, 20% 20%, 9, 40% 30%, 70, from(#ffea53), to(#6caddf), color-stop(50%, #00a88f));
background:-moz-radial-gradient(20% 20%, circle, #ffea53, #00a88f, #6caddf);
}
</style>
<div id="gradientBox01">
<h3>gradient linear</h3>
<p class="ex01">Ex01</p>
<p class="ex02">Ex02</p>
</div>
<div id="gradientBox02">
<h3>gradient radial</h3>
<p class="ex01">Ex01</p>
<p class="ex02">Ex02</p>
</div>
<style>
div {
width:500px;
height:300px;
border:1px solid black;
border-radius:10px;
}
.grad{
background:linear-gradient(-45deg, blue, white);
background:-ms-linear-gradient(-45deg, blue, white);
}
.grad01{
background:linear-gradient(to bottom, blue, white);
}
.grad02{
background:linear-gradient(to bottom, #06f, white 30%, #06f);
}
</style>
<div class="grad"></div>
outline요소의 아웃라인을 그림 border와는 별개의 속성이며 border를 설정한는 것과 같이 아래의 속성을 단축하여 사용할 수 있음
outline-style : 아웃라인의 형식
outline-color : 아웃라인의 색상
outline-width : 아웃라인의 두께
outline-offset:[d];
d : 아웃라인을 옵셋시키는 거리로 음수값도 가능함
ex -->
<style type="text/css">
#box_coForward{
background:#d9da55;
border:#999 solid 5px;
outline-style:dashed;
outline-width:5px;
outline-color:#676300;
outline-offset:-20px;
}
#box_html5Css3{
background:#afbc22;
border:#999 solid 5px;
outline:#676300 double 5px;
outline-offset:20px;
}
</style>
<div id="box_coForward">
<p><em class="coforward">co<span>Forward</span></em></p>
</div>
<div id="box_html5Css3">
<p>HTML5 & CSS3</p>
</div>
text-shadow:[dx] [dy] [bulr] [color]
;텍스트에 그림자를 지정
dx : 본체와 그림자의 가로방향 거리
dy : 본체와 그림자의 세로방향 거리
bulr : 그림자의 흐려짐 정도
color : 그림자의 색상
ex -->
<style type="text/css">
#html5Css3Text{
background:#afbc22;
text-shadow:3px 3px 5px #000;
}
#coforwardText{
background:#aaa;
text-shadow:
0 0 4px #ccc,
0 -3px 4px #ff3,
1px -6px 6px #fd3,
-1px -9px 11px #f80,
1px -12px 18px #f20;
}
</style>
<div id="example">
<h2>Example</h2>
<div id="exampleSub">
<div id="html5Css3Text">
<p>HTML5 & CSS3</p>
</div>
<div id="coforwardText">
<p> <em class="coforward">co<span>Forward</span></em></p>
</div>
</div>
</div>
box-shadow:[dx] [dy] [bulr] [spread] [set]
;지정된 요소의 그림자를 설정함
dx : 그림자의 가로방향 위치
dy : 그림자의 세로방향 위치
bulr : 흐려짐 정도
spread : 번짐 정도
set : 그림자의 형태
•outset : 요소 바깥쪽으로 그림자가 떨어짐 (기본값)
•inset : 요소 안쪽으로 그림자가 떨어짐
ex -->
<style type="text/css">
#Box01{
box-shadow:10px 10px 5px 5px gray;
-webkit-box-shadow:10px 10px 5px 5px gray;
-moz-box-shadow:10px 10px 5px 5px gray;
}
#Box02 img{
box-shadow:10px 10px 5px 5px gray inset;
-webkit-box-shadow:10px 10px 5px 5px gray inset;
-moz-box-shadow:10px 10px 5px 5px gray inset;
}
</style>
<div id="Box01">
<h3 class="exampleDesc">outset</h3>
</div>
<div id="Box02">
<h3 class="exampleDesc">inset</h3>
</div>
opacity:[fx]
;요소의 투명도 지정
fx : 요소의 투명도 지정 0 ~ 1 사이 값
ex -->
<style type="text/css">
#opacityBox .coFrowardText{
position:absolute;
top:50px;
left:30px;
opacity:0.5;
}
#opacityBox .html5Css3Text{
width:160px;
position:absolute;
top:10px;
left:150px;
background:url(img/checkBox4.png) repeat;
color:#F00;
opacity:0.3;
}
</style>
<div id="opacityBox">
<p class="coFrowardText"><em class="coforward">co<span>Forward</span></em></p>
<p class="html5Css3Text">HTML5 & CSS3</p>
</div>
border-radius:[length]
;Box Model 외각선의 곡률 지정
length : 곡률의 크기
border-top-left-radius / border-top-right-radius / border-bottom-left/ border-bottom-right으로 개별 지정 가능
ex -->
<style type="text/css">
#borderBox01{
height:30px;
background:#CCC;
border-radius:50px;
-webkit-border-radius:50px;
-moz-border-radius:50px;
}
#borderBox02 .topLeft{
background:#d9da55;
border-top-left-radius:20px;
-webkit-border-top-left-radius:20px;
-moz-border-radius-topleft:20px;
}
#borderBox02 .topRight{
background:#afbc22;
border-top-right-radius:20px;
-webkit-border-top-right-radius:20px;
-moz-border-radius-topright:20px;
}
#borderBox02 .bottomLeft{
background:#8a8d09;
border-bottom-left-radius:20px;
-webkit-border-bottom-left-radius:20px;
-moz-border-radius-bottomleft:20px;
}
#borderBox02 .bottomRight{
background:#676300;
border-bottom-right-radius:20px;
-webkit-border-bottom-right-radius:20px;
-moz-border-radius-bottomright:20px;
}
</style>
border-image:[source] [이미지영역] [표시방법]
;외각선을 이미지로 표시함
source : 외각선에 지정될 이미지 경로
이미지영역 : 외각선으로 사용하기 위한 가로, 세로 방향의 이미지
영역표시방법 : 이미지를 표시하는 방법
•repeat : 이미지를 반복하여 표시함
•round : 이미지를 적절한 크기로 반복하여 표시함
•stretch : 이미지를 늘려서 표시함
<style type="text/css">
#exampleSub div{
margin:0 auto;
margin-bottom:30px;
padding:20px;
width:70%;
height:50px;
text-align:center;
border-width:20px;
}
#borderBox01{
border-image:url(img/checkBox2.png) 40 40 repeat repeat;
-webkit-border-image:url(img/checkBox2.png) 40 40 round repeat;
-moz-border-image:url(img/checkBox2.png) 40 40 round repeat;
}
#borderBox02{
border-image:url(img/checkBox4.png) 40 40 stretch round;
-webkit-border-image:url(img/checkBox4.png) 40 40 stretch stretch;
-moz-border-image:url(img/checkBox4.png) 40 40 stretch stretch;
}
</style>
<div id="exampleSub">
<div>
<h3>사용된 이미지</h3>
<img src="img/borderImg.png" alt="사용된 이미지" />
</div>
<div id="borderBox01"></div>
<div id="borderBox02"></div>
</div>
column:문장을 다단으로 표시함
column-count : 단의 수
column-width : 단의 폭
column-gap : 단과 단 사이의 거리
column-rule : 단과 단 사이의 구분선 지정
-->
<style type="text/css">
#div{
margin-bottom:15px;
width:100%;
border:1px solid #ccc;
padding:10px;}
#textBox02{
column-width:300px;
column-count:2;
column-rule:1px solid #ccc;
column-gap:40px;
-webkit-column-width:180px;
-webkit-column-count:2;
-webkit-column-rule:1px solid #ccc;
-webkit-column-gap:40px;
-moz-column-width:180px;
-moz-column-count:2;
-moz-column-rule:1px solid #ccc;
-moz-column-gap:40px;
}
#textBox03{
column-width:33px;
column-count:3;
column-rule:1px solid #ccc;
column-gap:20px;
-webkit-column-width:33%;
-webkit-column-count:3;
-webkit-column-rule:1px solid #ccc;
-webkit-column-gap:20px;
-moz-column-width:33%;
-moz-column-count:3;
-moz-column-rule:1px solid #ccc;
-moz-column-gap:20px;
}
</style>
<div id="textBox02">
<p>In short, the CSS3 Multi-Column Module is a functionality to flow the content of an element into multiple columns.</p>
<p>The Multi-Column Module is part of the CSS3 specifications proposed by the W3C.</p>
<p>This extension to the CSS Box Model opens a new range of possibilities in terms of web design. Multi-column layouts that are so
pervasive in the print media (think newspapers, magazines) can now become a reality on the web.</p>
</div>
<div id="textBox03">
<p>In short, the CSS3 Multi-Column Module is a functionality to flow the content of an element into multiple columns.</p>
<p>The Multi-Column Module is part of the CSS3 specifications proposed by the W3C.</p>
<p>This extension to the CSS Box Model opens a new range of possibilities in terms of web design. Multi-column layouts that are so
pervasive in the print media (think newspapers, magazines) can now become a reality on the web.</p>
</div>
@font-face{}:서버측 폰트를 사용할 수 있는 font-family를 생성함
ex -->
<style type="text/css">
@font-face{
font-family:nanumFont;
src:url('img/nanum.eot');
src:local('nanumgothicExtraBold'), url('img/nanum.ttf') format('truetype');
}
#textBox .ex01{
font-family:"돋움",dotum;
border:1px solid #ccc;
padding:10px;
}
#textBox .ex02{
font-family:"굴림",gulim;
border:1px solid #ccc;
padding:10px;
}
#textBox .ex03{
font-family:nanumFont,gulim;
border:1px solid #ccc;
padding:10px;
}
</style>
transform:요소의 형태를 변경함
translate([dx],[dy]) : 지정한 크기 만큼 이동 시킴
scale([ds]) : 지정한 배율 만큼 확대함
rotate([deg]) : 지정한 각도만큼 회전 시킴
skew([degx],[degy]) : 지정한 경사로 기울림
->ex
<style type="text/css">
#transform_translate img{
transform:translate(50px, 30px);
-webkit-transform:translate(50px, 30px);
-moz-transform:translate(50px, 30px);
-o-transform:translate(50px, 30px);
}
#transform_scale img{
transform:scale(2);
-webkit-transform:scale(2);
-moz-transform:scale(2);
-o-transform:scale(2);
}
#transform_rotate img{
transform:rotate(45deg);
-webkit-transform:rotate(45deg);
-moz-transform:rotate(45deg);
-o-transform:rotate(45deg);
}
#transform_skew img{
transform:skew(30deg, 30deg);
-webkit-transform:skew(30deg, 30deg);
-moz-transform:skew(30deg, 30deg);
-o-transform:skew(30deg, 30deg);
}
</style>
transition:[변환속성],[에니메이션 시간];class나 선택상태 변경되어 속성이 변화할 때 상태 변화를 부드럽게 에니메이션함
변환속성 : 변환할 속성 all로 지정되면 모든 속성이 영향받음
에니메이션 시간 : 에니메이션 시간을 지정함
transition-delay: 애니메이션의 지연시간을 지정함
transition-duration : 에니메이션이 실행시간을 지정함
transition-property : 어떤 속성을 변형할지 지정함
transition-timing-function : 에니메이션이 속도 형태를 지정함
linear:시작에서 끝까지 똑같은 속도로 진행
ease:처음에는 천천히 시작하고 점점빨라지다가 마지막엔 천천히 끝남
ease-in:시작은 느리게
ease-out:느리게 끝냄
ease-in-out:느리게 시작하고 느리게 끝냄
cubic-bezier:직접베이직 함수를 정의해서 사용
n에서 사용할 수 있는 값은 0~1사이입니다
->ex
<style type="text/css">
#transitionBox img{
transform:rotate(0deg);
-webkit-transform:rotate(0deg);
-moz-transform:rotate(0deg);
-o-transform:rotate(0deg);
border:#ccc solid 5px;
opacity:0.2;
transition:all 3s;
-webkit-transition:all 3s;
-moz-transition:all 3s;
-o-transition:all 3s;
}
#transitionBox img:hover{
transform:rotate(45deg);
-webkit-transform:rotate(45deg);
-moz-transform:rotate(45deg);
-o-transform:rotate(45deg);
border:#396 solid 5px;
opacity:1;
transition:all 3s;
-webkit-transition:all 3s;
-moz-transition:all 3s;
-o-transition:all 3s;
}
</style>
위치속성
크기속성
박스속성
테두리속성
색상속성
투명속성
변형속성
animation에니메이션을 지정함
animation-name : 애니메이션 이름을 지정함
animation-delay: 애니메이션의 지연시간을 지정함
animation-direction:애니메이션의 진행방향 지정함
alternate;반대방향으로 진행
normal:원래방향으로 진행
animation-duration : 에니메이션이 실행시간을 지정함
animation-iteration-count : 에니메이션이 반복 회수를 지정함
animation-play-state:애니메이션의 재생상태를 지정함
paused, animation-play-state:paused;
animation-timing-function : 에니메이션이 속도 형태를 지정함
linear:시작에서 끝까지 똑같은 속도로 진행
ease:처음에는 천천히 시작하고 점점빨라지다가 마지막엔 천천히 끝남
ease-in:시작은 느리게
ease-out:느리게 끝냄
ease-in-out:느리게 시작하고 느리게 끝냄
cubic-bezier:직접베이직 함수를 정의해서 사용
n에서 사용할 수 있는 값은 0~1사이입니다
keyframes에니메이션의 키프래임을 지정함
form : 에니메이션의 시작 프래임를 설정함
to : 에니메이션의 시작 프래임를 설정함중간의 키프레임을 %단위로 지정할수 있음
->ex
<style type="text/css">
#exampleSub img{
-webkit-animation-name:animationSample;
-webkit-animation-duration:3s;
-webkit-animation-iteration-count:infinite;
-webkit-animation-timing-function:ease-in-out;
}
@-webkit-keyframes animationSample{
from{
opacity:0.1;
-webkit-transform:rotate(0deg);
}
to{
opacity:1.0;
-webkit-transform:rotate(360deg);
}
}
</style>
'HTML,CSS > 정리' 카테고리의 다른 글
CSS 고급 선택자 (0) | 2021.09.27 |
---|---|
이미지와 그라데이션 효과로 배경 꾸미기 (0) | 2021.09.27 |
레이아웃을 구성하는 CSS 박스 모델 (0) | 2021.09.24 |
텍스트를 표현하는 다양한 스타일 (0) | 2021.09.17 |
CSS의 기본 (0) | 2021.09.17 |