-
Notifications
You must be signed in to change notification settings - Fork 1
CSS3
li {
color:red;
text-decoration:underline;
}1. ํ๊ทธ ์ ํ์
๋ฌธ์์ ๋ชจ๋ li ํ๊ทธ๋ผ๋ ๋ป์ ๋๋ค.
li{color:red}2. ํด๋์ค ์ ํ์
ํด๋์ค ์์ฑ์ ๊ฐ์ ํด๋นํ๋ ํ๊ทธ๋ค์ ์ ํํ๋ ์ ํ์์ ๋๋ค.
3. ์์ด๋ ์ ํ์
๋ฌธ์์์ id๊ฐ์ด select์ธ ํ๊ทธ๋ผ๋ ๋ป์ ๋๋ค.
#select{font-color:50px;}๊ฐ์(pseudo) ํด๋์ค ์ ํ์๋ ํด๋์ค ์ ํ์๋ ์๋์ง๋ง ์๋ฆฌ๋จผํธ๋ค์ ์ํ์ ๋ฐ๋ผ์ ๋ง์น ํด๋์ค ์ ํ์์ฒ๋ผ ์ฌ๋ฌ ์๋ฆฌ๋จผํธ๋ฅผ ์ ํํ ์ ์๋ค๋ ์ ์์ ๋ถ์ ์ด๋ฆ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ฃผ์ ํด๋์ค ์ ํ์๋ฅผ ์์๋ด ๋๋ค.
:link - ๋ฐฉ๋ฌธํ ์ ์ด ์๋ ๋งํฌ
:visited - ๋ฐฉ๋ฌธํ ์ ์ด ์๋ ๋งํฌ
:hover - ๋ง์ฐ์ค๋ฅผ ๋กค์ค๋ฒ ํ์ ๋
:active - ๋ง์ฐ์ค๋ฅผ ํด๋ฆญํ์ ๋
์์ ์ ํ์๋ ์์๋๋ก ์ง์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํนํ visited์ ๊ฒฝ์ฐ๋ ๋ณด์์์ ์ด์ ๋ก ์๋์ ๊ฐ์ ์์ฑ๋ง ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํฉ๋๋ค.
color
background-color
border-color
outline-color
The color parts of the fill and stroke properties
1. rem
html ํ๊ทธ์ ์ ์ฉ๋ font-size์ ์ํฅ์ ๋ฐ์ต๋๋ค. html ํ๊ทธ์ ํฐํธ ํฌ๊ธฐ์ ๋ฐ๋ผ์ ์๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์ ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค. ๊ฐ์ฅ ๋ฐ๋์งํ ๋จ์์ ๋๋ค. ์ด๊ฒ์ ์ฌ์ฉํ์ธ์.
2. px
๋ชจ๋ํฐ ์์ ํ์ ํ๋์ ํฌ๊ธฐ์ ๋์๋๋ ๋จ์์ ๋๋ค. ๊ณ ์ ๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค๋ง, ์ฌ์ฉ์๊ฐ ๊ธ๊ผด์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๊ธ์ ์ฌ์ฉ์ ํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
3. em
๋ถ๋ชจ ํ๊ทธ์ ์ํฅ์ ๋ฐ๋ ์๋์ ์ธ ํฌ๊ธฐ์ ๋๋ค. ๋ถ๋ชจ์ ํฌ๊ธฐ์ ์ํฅ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ํ์ ํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. rem์ด ๋ฑ์ฅํ๋ฉด์ ์ด ๋จ์ ์ญ์ ์ฌ์ฉ์ด ๊ถ์ฅ๋์ง ์์ต๋๋ค.
text-align์ ๊ฐ์ผ๋ก ์ฌ ์ ์๋ ๊ฐ์ ์๋์ ๊ฐ์ต๋๋ค.
left
right
center
justify
1. font-family
serif (์ฅ์์ด ์๋ ํฐํธ)
sans-serif
cursive (ํ๋ฆผ์ฒด)
fantasy
monospace (๊ณ ์ ํญ)
CSS๋ Cascading Style Sheet์ ์ฝ์์ ๋๋ค.
์นํ์ด์ง์ ๋์์ธ์ด ์น๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ๋์์ธ๊ณผ ๋ธ๋ผ์ฐ์ ์ฌ์ฉ์์ ๋์์ธ ๊ทธ๋ฆฌ๊ณ ์นํ์ด์ง ์ ์์ ๋์์ธ์ด ๊ฒฐํฉ๋ ์ ์๋ค๋ ์ ์ ์ฐฉ์ํ๊ณ ์๋ค๊ณ ํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
style attribute > id selector > class selector > tag selector
ํฌ๊ด์ ์ธ๊ฒ์ด ๋ ์๋ค.
html ์๋ฆฌ๋จผํธ๋ค์ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
- ํ๋ฉด ์ ์ฒด๋ฅผ ์ฌ์ฉํ๋ ํ๊ทธ => block element
- ํ๋ฉด์ ์ผ๋ถ๋ฅผ ์ฐจ์งํ๋ ํ๊ทธ => inline level element
์ด ๊ณผ์ ์์ display๋ผ๋ ์ค์ํ ์์ฑ์ ๋ํด์๋ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค.
h1,a{border:1px solid red;}
h1{display: inline;}
a{display:block;}๋ง์ง๊ฒน์นจ(margin-collapsing) ํ์์ ์ํ ๋ง์ง๊ฐ์ด ์ด๋ค ์ํฉ์์ ์ฌ๋ผ์ง๋ ํ์์ ์๋ฏธํฉ๋๋ค. ์ด ํ์์ ์ด์ฌ์์๊ฒ๋ ์ค์ํ ๋ด์ฉ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ง๋์น์๊ธธ ๋ฐ๋๋๋ค. ํ์ง๋ง ์ด๊ฒ์ ์ดํดํ์ง ๋ชปํ๋ฉด ์ค๋ฌด๋ฅผ ํ ๋ ์ดํดํ ์ ์๋ CSS์ ๋์์ผ๋ก ์ธํด์ ๊น์ ํ๋จ์ด ์๊ธธ ์ ์์ผ๋๊น ์ธ์ ๊ฐ๋ ๋ณด์๋๊ฒ ์ข๊ฒ ์ต๋๋ค.
offset!!!!
static
relative
absolute
fixed
1. relative
- ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋กํด์ ์์น๊ฐ ์ ํด์ง๋ค.
2. absolute
- ๋ถ๋ชจ ์ค์ ํฌ์ง์ ํ์ ์ด ์ง์ ๋ ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ํด์ ์์น๊ฐ ์ง์ ์ด ๋๊ณ ๋ถ๋ชจ์์ ๊ด๊ณ์ฑ์ด ๋๊ธฐ๊ธฐ ๋๋ฌธ์ ์์ ์ ์ฝํ ์ธ ํฌ๊ธฐ๋ง ํด์ง๋ค. css์์ฑ์ด ๋์ด์ง๋๊ฒ์ ์๋๋ค.
- absoulte์ ๋ถ๋ชจ๋ฅผ ์ฐพ๋๋ค. default -> body
- absoulte์ left, right๋ ๋ถ๋ชจ ์๋ฆฌ๋จผํธ๋ฅผ ๊ธฐ์ค์ผ๋กํด์ ์๊ธฐ๊ฐ ์๋ ์์นํด์ผ ๋ ๊ทธ ์์น์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค๋ค.
- absoulte๋ฅผ ํ๊ฒ๋๋ฉด ๋ ์ด์ ๋ถ๋ชจ์ ์์์ด ์๋๋ค.
- ํด๋น ์๋ฆฌ๋จผํธ์ ํฌ๊ธฐ๊ฐ ํฌ๊ธฐ๊ฐ ์์ ์ content size ์ค์ ์ด ๋๋ค.
3. fixed
1. flex-direction
row: row-reverse: column: column-reverse:
2. flex-wrap
nowrap: wrap: wrap-reverse:
3. align-items
flex-start: flex-end: center: baseline: stretch:
4. justify-content
flex-start: flex-end: space-between: center: space-around:
5. align-content
flex-start: flex-end: center: space-between: space-around: stretch:
6. align-self
auto: flex-start: flex-end: center: baseline: stretch:
7. flex-grow
flex-shrink
8. flex
.item { flex: flex-grow [flex-shrink] [flex-basis]; }
9. order
float:left
clear:left , right, both;
๋ค๋จ(multi column)์ ์ ๋ฌธ์ฒ๋ผ ํ๋ฉด์ ๋ถํ ํด์ ์ข ๋ ์ฝ๊ธฐ ์ฝ๋๋ก ๋ง๋ ๋ ์ด์์์ ์๋ฏธํฉ๋๋ค. CSS์์๋ ์ด๋ฌํ ๋ ์ด์์์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
.column{
text-align: justify;
column-count: 4;
/* column-width: 200px;*/
column-gap:30px;
column-rule-style: solid;
column-rule-width: 5px;
column-rule-color: red;
}
h1{
column-span: all;
}
</style>{
background-color : red
background-image : url("bg.png")
background-repeat : repeat, no-repeat, repeat-x, repeat-y
background-attachment : scroll, fixed
background-position : left top or x% y% or x y
background-size : 100px 100px or cover or
contain
}img {
-webkit-filter: grayscale(0%);
-o-filter: grayscale(0%);
filter: graysacle(0%);
}๋ฐฐ๊ฒฝ ๊ทธ๋ํฝ ๊ฐ์ ๋ธ๋๋ ํจ๊ณผ
์ปจํ ํธ์ ๋ฐฐ๊ฒฝ ์ฌ์ด์ ๋ธ๋๋ ํจ๊ณผ
transform์ ์๋ฆฌ๋จผํธ์ ํฌ๊ธฐ, ์์น, ๋ชจ์์ ๋ณ๊ฒฝํ๋ ์์ฑ์ ๋๋ค.
svg๋ ๋ฐฑํฐ(vector) ์ด๋ฏธ์ง๋ฅผ ํํํ๊ธฐ ์ํ ํฌ๋งท์ผ๋ก w3c์์ ๋ง๋ ๋ฐฑํฐ ์ด๋ฏธ์ง ํ์ค์ ๋๋ค. SVG ์์ฒด๋ CSS๊ฐ ์๋๋๋ค๋ง CSS๋ฅผ ์ด์ฉํด์ ๋ค์ํ ํจ๊ณผ๋ฅผ ์ค ๋ SVG๋ฅผ ํ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์๋ SVG์ ๋ํด์ ๊ฐ๋ตํ๊ฒ ์ธ๊ธ๋งํ๊ฒ ์ต๋๋ค.
img{
width:400px;
}
.svg{
height:400px;
background-image: url(sample_vector.svg)
}<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="210" height="210">
<rect x="5" y="5" width="200" height="200" style="fill:red; stroke:black; stroke-width:10px"></rect>
</svg>์ ํ์ ํจ๊ณผ๊ฐ ๋ณ๊ฒฝ๋์์ ๋ ๋ถ๋๋ฝ๊ฒ ์ฒ๋ฆฌํด์ฃผ๋ CSS์ ๊ธฐ๋ฅ์ ๋๋ค. ์ด์ ๊ด๋ จ๋ ๊ฒ์ผ๋ก๋ ์๋์ ๊ฐ์ ์์ฑ๋ค์ด ์์ต๋๋ค.
transition-duration
transition-property
transition-delay
transition-timing-function
transition
a{
font-size:3rem;
display:inline-block;
/*
transition-property: font-size transform;
transition-duration: 0.1s;
transition:all 0.1s;
*/
/* transition:all 0.1s;*/
transition:font-size 1s, transform 0.1s;
}
a:active{
transform:translate(20px, 20px);
font-size:2rem;
}transition timming function ๋ง๋ค๊ธฐ
์ ์งํ๊ณ ๋ณด์ํ๋ ๊ฒ์ด ํธ๋ฆฌํ์ง ๋ชปํ๋ฉด ๋์์ธ์ ๊ณผ๊ฐํ๊ฒ ์ ๊ฐํ๋ ๊ฒ์ ์ด๋ ค์ด ์ผ์ ๋๋ค. ๋ฐ๋ผ์ ์ผ์ ํ ๊ท๋ชจ์ ์ฌ์ดํธ๊ฐ ๋๋ฉด ์ ์ง๋ณด์๋ฅผ ํจ์จ์ ์ผ๋ก ํด์ ํ๋ก์ ํธ์ ๋ณต์ก๋๋ฅผ ๋ฎ์ถ๋ ๊ฒ์ ์ ๋ง ์ค์ํ ์ผ์ด ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋๊ท๋ชจ์ CSS ์์คํ ์ ๊ตฌ์ถํ ๋ ํ์ํ ์ฌ๋ฌ๊ฐ์ง ํ ํฌ๋๋ค์ ์์๋ด ๋๋ค.
๋๊ฐ์ CSS๋ฅผ ์ ์ฉํด์ผ ํ๋ ์นํ์ด์ง๊ฐ 1000๊ฐ๊ฐ ์์ ๋ CSS์ ๋ด์ฉ์ด ๋ฐ๋์๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น์? ์๋ง ์ฒ๊ฐ์ ์นํ์ด์ง๋ฅผ ๋ชจ๋ ์์ ํด์ผ ํ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ CSS์ ์์ ์ ์๊ทน์ ์ผ๋ก ๋ง๋ค๊ณ ๊ทธ๊ฒ์ ๊ณง ์๋ฆ๋ค์์ ์ต์ํ๋ ์๋ดํ ์ฅ์ ๋ฌผ์ด ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ธ link ํ๊ทธ์ @import์ ๋ํด์ ์์๋ด ๋๋ค.
์ธ๋ถ๋ก ํ์ผ์ ๋นผ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ๋๊ฐ์ง์ ๋๋ค.
- <style>@import url("style.css")</style>
<!doctype html>
<html>
<head>
<!-- <link rel="stylesheet" href="style.css">-->
<style>
@import url("style.css")
</style>
</head>
<body>
<h1>page2</h1>
</body>
</html>h1{
color:red;
}CSS๋ ๋คํธ์ํฌ๋ฅผ ํตํด์ ์ ์ก๋ฉ๋๋ค. ์์ฐ์ค๋ฝ๊ฒ CSS์ ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด ์ปจํ ์ธ ์ ์์ฐ์์ ์๋น์ ๋ชจ๋์๊ฒ ์ํด์ ๋๋ค. ์ฝ๋์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ฒ์ ํตํด์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์ํํด์ฃผ๋ ๋๊ตฌ๊ฐ minify ๋๊ตฌ์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ฝ๋๋ฅผ ๊ฒฝ๋ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
http://adamburgess.github.io/clean-css-online/
clean-css๋ clean-css-cli ๋ก ๋๋์๋ค.
clean-css-cli ์ค์น
CSS๋ ๋ฐ์ด๋ ์ธ์ด์ ๋๋ค. ํ์ง๋ง CSS๊ฐ ๋ชจ๋ ๋ฉด์์ ์ข์์๋ ์์ต๋๋ค. ๊ทธ๋์ ์ด๋ค ์ด๋ค์ CSS์ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ ๋ํ ์๋ก์ด ์ธ์ด๋ฅผ ๋ง๋ค๊ณ ์ด ์ธ์ด์ ๋ฐ๋ผ์ ์์ฑํ ์ฝ๋๋ฅผ ์ด๋ค ํ๋ก๊ทธ๋จ์ผ๋ก ์คํ์ํค๋ฉด ๊ฒฐ๊ณผ์ ์ผ๋ก CSS๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๋๊ตฌ๋ค์ ๊ฐ๋ฐํ๋๋ฐ์. ์ด๋ฐ ๋๊ตฌ๋ฅผ preprocessor์ด๋ผ๊ณ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ด๋ฐ ๋๊ตฌ๋ค์ ๊ฐ๋ ๊ณผ ๊ฐ๋จํ ์ฌ์ฉ๋ฒ์ ์์๋ด ๋๋ค.
์๋๋ ๋ํ์ ์ธ preprocessor๋ค์ ๋๋ค
http://lesscss.org/ (์จ๋ผ์ธ ๋ณํ๊ธฐ)
https://csspre.com/compile/ (์จ๋ผ์ธ ๋ณํ๊ธฐ)
์๋๋ ์ด๋ฐ ๋๊ตฌ๋ค์ ๋ํด์ ๋น๊ตํ ์ฌ์ดํธ์ ๋๋ค.
- ๋ค์ด์คํ ๊ธฐ๋ฅ
๋ผ์ด๋ธ๋ฌ๋ฆฌ(library)๋ ๋์๊ด์ด๋ผ๋ ๋ป์ ๋๋ค. ๋์๊ด์ด๋ ์ด๋ค ๊ณต๊ฐ์ธ๊ฐ์? ๊ณต์ฉ์ผ๋ก ์ฑ ์ ๊ณต์ ํ๋ ๊ณต๊ฐ/์ฒด๊ณ๋ฅผ ์ฐ๋ฆฌ๋ ๋์๊ด์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ํํธ์จ์ด์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋์๊ด์ ์ด๋ฐ ์ญํ ์ ๋น์ ๋ก ์ฑํํ ๊ฒ์ ๋๋ค. ์ฆ ๋ง์ ๊ณณ์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ ์ฝ๋๋ฅผ ๋ถํํํ ๊ฒ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. CSS์๋ ์ด๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ง์ต๋๋ค. ์ฌ๊ธฐ์๋ ์ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ฌ์ฉ๋ฒ์ ์์๋ด ๋๋ค.
๋ฉ๋ฒณํฐํธ๋ ํฐํธ ๋์ ์ด๋ค ๋ฌธ์์ ํด๋นํ๋ ์ด๋ฏธ์ง๋ก ์ด๋ฃจ์ด์ง ํฐํธ๋ฅผ ์๋ฏธํฉ๋๋ค. fontello๋ ๋ฉ๋ฒณ์ด๋ ์์ด์ฝ์ ํฐํธ๋ก ์ ๊ณตํ๋ ์ฌ๋ฌ ์๋น์ค๋ฅผ ๋ชจ์๋ ์๋น์ค์ ๋๋ค. ํนํ SVG ํ์ผ์ ์ ๋ก๋ํ๋ฉด ํฐํธ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ๋ ํฉ๋๋ค.