λͺ¨λ μΉμ μν HTML5+CSS3 λ°μ΄λΈ(3)
π λ€μ΄κ°κΈ°μ μμ
μ΄ κΈμ λͺ¨λ μΉμ μν HTML5+CSS3 λ°μ΄λΈ
μ 곡λΆνλ©° κΈ°μ΅ν΄λ λ΄μ©λ€μ κ°λ¨νκ² κΈ°λ‘ν κΈμ
λλ€.
μ±
μ λν μμΈν μ¬νμ λ§ν¬λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ. π
π 1. CSS3 μ€νμΌ μμ± κΈ°λ³Έ
CSS3 λ¨μ
ν¬κΈ° λ¨μ
em λ¨μλ λ°°μλ₯Ό λνλ΄λ λ¨μμ
λλ€. 1.5λ°° = 1.5em = 150%
μ
λλ€.
* {
font-size: 12px;
}
h1 {
font-size: 3em;
}
h2 {
font-size: 1.5em;
}
/*
μ 체μ λν΄μ `12px`,
h1μ λν΄μ 3λ°°μΈ `36px`,
h2λ 1.5λ°°μΈ `18px`μ΄ μ μ©λ©λλ€.
*/
κ°μ μμ±
display μμ±
inline-block
μ λ§μΉ inlineμ²λΌ νμ€λ‘ λ°°μΉλλ©΄μ λμμ blockμ²λΌ width, height, margin(μνμ’μ°μ λν΄μ λͺ¨λ)μ κ°μ΅λλ€.
π΅ inline
μ λ°λ‘ width, heightμ κ°μ§ μκ³ marginμ λν΄μλ μ’μ°λ‘λ§ μ μ©μ΄ κ°λ₯ν©λλ€.
#box-frist {
display: inline;
background-color: red;
width: 300px; /* μ μ©λμ§μμ */
height: 50px; /* μ μ©λμ§μμ */
margin: 10px; /* μ’μ°λ‘λ§ μ μ© */
}
#box-second {
display: inline-block;
background-color: red;
width: 300px;
height: 50px;
margin: 10px;
}
visibility μμ±
hidden
μ νκ·Έλ₯Ό 보μ΄μ§ μκ² λ§λλλ€. π 보μ΄μ§ μκ²λ§ λ§λ€ λΏ κ·Έ μ리μ μ‘΄μ¬ν©λλ€!(display: none;
κ³Όλ λ€λ¦
λλ€.)
#box {
visibility: hidden;
}
λ°μ€ μμ±
box-sizing μμ±
widthμ height μμ±μ΄ μ°¨μ§νλ λ²μλ₯Ό μ§μ ν©λλ€.
div {
margin: 10px;
padding: 10px;
width: 100px;
height: 100px;
border: 10px solid black;
}
div:first-child {
background: red;
box-sizing: content-box;
}
div:last-child {
background: orange;
box-sizing: border-box;
}
content-box
: contentλ₯Ό κΈ°μ€μΌλ‘ width, heightμ μ§μ ν©λλ€. μ¦, νκ·Έκ° μ°¨μ§νλ ν¬κΈ°λ₯Ό ꡬνλ €λ©΄ padding, border, marginμ κ°μ 2λ°°λ‘ λν΄μ£Όμ΄μΌν©λλ€.(μμͺ½μ΄κΈ°λλ¬Έ)border-box
: borderλ₯Ό κΈ°μ€μΌλ‘ width, heightμ μ§μ ν©λλ€. μ¦, νκ·Έκ° μ°¨μ§νλ ν¬κΈ°λ₯Ό ꡬνλ €λ©΄ marginμ κ°λ§ 2λ°°λ‘ λν΄μ£Όλ©΄ λ©λλ€.(λ§μ°¬κ°μ§λ‘ μμͺ½μ΄λκΉ)
λ°°κ²½ μμ±
λ°°κ²½ μμ±μ μλμ κ°μ΄ μμ λ§ λκ³ λ°λ‘ μ€λͺ μ νμ§ μλλ‘ νκ² μ΅λλ€.
body {
background-color: white;
background-image: url('BackgroundFront.png'), url('BackgroundBack.png');
background-size: 100%;
background-repeat: no-repeat;
background-attachment: fixed;
background-position: bottom;
}
κΈμ(ν°νΈ) μμ±
line-height μμ±
line-height
μμ±μ κΈμμ λμ΄λ₯Ό μ§μ ν©λλ€. μ¬μ€μ κΈμμ λμ΄λ₯Ό μ§μ νλ κΈ°λ₯λ³΄λ€ κΈμλ₯Ό μμ§ μ€μ μ λ ¬
ν λ μ¬μ©ν©λλ€.
.box {
width: 150px;
height: 70px; /* κΈμλ₯Ό κ°μΈλ λ°μ€μ λμ΄ */
background-color: #ff6a00;
border: 10px solid #ffffff;
border-radius: 30px;
box-shadow: 5px 5px 5px #a9a9a9;
}
.box > a {
display: block;
line-height: 70px; /* κΈμλ₯Ό κ°μΈλ λ°μ€μ λμ΄μ κ°μ κ°μ μ€μ νλ©΄ μμ§μΌλ‘ μ€μ μ λ ¬λ©λλ€. */
}
β μΆκ°λ‘ spanκ³Ό κ°μ inline νμμ λλΉ
κ° μ‘΄μ¬νμ§ μμ΅λλ€. λ°λΌμ text-align: center;
μ κ°μ μμ±μ μ¬μ©ν μ μμ΅λλ€.(μ μ΄μ μ€μμ΄λ κΈ°μ€ μμ²΄κ° μκΈ° λλ¬Έμ
λλ€.)
μμΉ μμ±
position μμ±
- μ λ μμΉ μ’ν : μμμ Xμ’νμ Yμ’νλ₯Ό μ€μ νμ¬ μ λμ μΈ μμΉλ₯Ό μ§μ ν©λλ€.
- absolute : μ λ μμΉ μ’νλ₯Ό μ€μ ν©λλ€.
- fixed :
νλ©΄
μ κΈ°μ€μΌλ‘ μ λ μμΉ μ’νλ₯Ό μ€μ ν©λλ€.
- μλ μμΉ μ’ν : μμλ₯Ό μ
λ ₯ν μμλ₯Ό ν΅ν΄ μλμ μΈ μμΉλ₯Ό μ§μ ν©λλ€.
- static : νκ·Έκ° μμμ μλλ‘, μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ μμλλ‘ λ°°μΉλ©λλ€.
- relative : μ΄κΈ° μμΉ μν(ν¨κ³Όλ₯Ό μμ£Όλ©΄ μμ μμΉ)λ₯Ό κΈ°μ€μΌλ‘ μνμ’μ°λ‘ μ΄λν©λλ€.
π₯ λ¨μν μκ°ν΄λ³΄λ©΄ μ λ μμΉ μ’νκ° ν¨μ¬ μ¬μ©νκΈ° κ°λ¨ν©λλ€.(κ·Έμ μ€κ³νλ― μμΉλ₯Ό μ«μλ‘ μ§μ ν΄μ£Όλ©΄ λκΈ° λλ¬Έμ
λλ€.)
π νμ§λ§ μμ¦μ μ»΄ν¨ν°, ν
λΈλ¦Ώ, μ€λ§νΈν° λ±λ± λ€μν ν΄μλλ₯Ό κ°μ§ λμ€νλ μ΄κ° μ‘΄μ¬νλ―λ‘ μλ μμΉ μ’νκ° ν¨μ¬ λ§μ΄ μ¬μ©λ©λλ€.
z-index μμ±
ν¬ν μ΅μμμ λ μ΄μ΄ κ°λ μΌλ‘ μκ°νλ©΄ νΈν©λλ€. μ¦, μ°λ¦¬κ° λ°λΌλ³΄λ μμ μ λν΄ μμ§μΈ(λ§μΉ μ’ μ΄λ₯Ό ν¬κ°λ―μ΄) μμΉλ₯Ό λνλ λλ€. μ«μκ° ν΄μλ‘ λ μμͺ½(μ μ μ κ°κΉμ΄ μͺ½)μ μμΉν©λλ€.
μμΉ μμ±κ³Ό κ΄λ ¨λ μμ±
1.μμμ position μμ±μ absolute ν€μλλ₯Ό μ μ©νλ©΄ λΆλͺ¨λ height μμ±μ μ¬μ©ν©λλ€.
- λΆλͺ¨ νκ·Έκ° μμμ μ°¨μ§νκ² νκΈ° μν¨μ λλ€.
2. μμμ position μμ±μ absolute ν€μλλ₯Ό μ μ©νλ©΄ λΆλͺ¨μ position μμ±μ relative ν€μλλ₯Ό μ μ©ν©λλ€.
- λΆλͺ¨ νκ·Έλ₯Ό κΈ°μ€μΌλ‘ μμ νκ·Έκ° μ λμ μΈ μμΉλ₯Ό κ°κ² νκΈ° μν¨μ λλ€.
overflow μμ±
μμ νΉμ νμ μμκ° λΆλͺ¨ μμμ λ²μλ₯Ό λ²μ΄λ λ μ΄λ₯Ό μ²λ¦¬νλ μμ±μ λλ€.
- hidden : μμμ λ²μ΄λλ λΆλΆμ 보μ΄μ§ μκ² ν©λλ€.
- scroll : μμμ λ²μ΄λλ λΆλΆμ μ€ν¬λ‘€νμ¬ λ³Ό μ μκ² ν©λλ€.
λΆλͺ¨ νκ·Έμ relative, μμ νκ·Έμ absoluteλ₯Ό μ μ©νμ¬ μμ νκ·Έκ° λΆλͺ¨ νκ·Έμ λ²μλ₯Ό λ²μ΄λ λ μ¬μ©νκ² λ©λλ€. μλμ λͺ©μ κ³Ό λ€λ₯΄κ² float μμ±κ³Ό ν¨κ» λ€λ₯Έ μ©λλ‘ μ¬μ©λλ κ²½μ°κ° λ λ§μ΅λλ€.
float μμ±
λΆμ
νλ λμμ λ§λ€ λ μ¬μ©ν©λλ€. μΉ νμ΄μ§λ₯Ό λ§λ€ λ κ°μ₯ λ§μ΄ μ¬μ©νλ μ€νμΌ μμ±μ
λλ€.
img {
float: left;
}
/* νκ·Έλ₯Ό μΌμͺ½μ λΆμ
λλ€. */
float μμ±μ μ¬μ©ν λ μ΄μμ κ΅¬μ± 1(One True Layout λ°©μ)
μμμ float μμ±μ μ μ©νλ©΄ λΆλͺ¨μ overflow μμ±μ hidden ν€μλλ₯Ό μ μ©ν©λλ€.
<!DOCTYPE html>
<html>
<head>
<title>CSS3 Property Basic</title>
<style>
/* body νκ·Έλ₯Ό μ€μ μ λ ¬ν©λλ€. */
body {
width: 960px;
margin: 0 auto;
}
#aside {
width: 200px;
float: left;
}
#section {
width: 760px;
float: left;
}
#wrap {
overflow: hidden; /* #footerλΆλΆμ΄ 맨μλ μμΉνκ² νκΈ°μν¨μ
λλ€. */
}
</style>
</head>
<body>
<div id="header"><h1>Header</h1></div>
<div id="navigation"><h1>Navigation</h1></div>
<div id="wrap">
<div id="aside">
<h1>Aside</h1>
<p>μλ
νμΈμ.</p>
</div>
<div id="section">
<h1>Section</h1>
<p>λ°κ°μ΅λλ€.</p>
</div>
</div>
<div id="footer"><h1>Footer</h1></div>
</body>
</html>
float μμ±μ μ¬μ©ν λ μ΄μμ κ΅¬μ± 2(clear: both μ΄μ©)
<!DOCTYPE html>
<html>
<head>
<title>CSS3 Property Basic</title>
<style>
body {
width: 960px;
margin: 0 auto;
}
.clear {
clear: both;
}
#aside {
float: left;
width: 260px;
}
#section {
float: right;
width: 700px;
}
</style>
</head>
<body>
<div id="header"><h1>Header</h1></div>
<div id="navigation"><h1>Navigation</h1></div>
<div class="clear"></div>
<!-- μ¬κΈ°λ μλ―Έ μμ΅λλ€. -->
<div id="aside">
<h1>Aside</h1>
<p>μλ
νμΈμ.</p>
</div>
<div id="section">
<h1>Section</h1>
<p>λ°κ°μ΅λλ€.</p>
</div>
<div class="clear"></div>
<!-- floatμΌλ‘ μ λ ¬λ #aideμ #sectionμ λν΄ κ·Έ μλλΆν°λ λΆμ νμ§ μκ² λ μ΄μμμ μ‘μμ€λλ€. -->
<div id="footer"><h1>Footer</h1></div>
<div class="clear"></div>
<!-- μ¬κΈ°λ μλ―Έ μμ΅λλ€. -->
</body>
</html>
λ²€λ ν리ν½μ€
μμ±λ€ μ€ κ°νΉ -moz
, -webkit
λ±μ΄ μμ λΆλ κ²½μ°κ° μμ΅λλ€. μ΄κ²μ΄ λ²€λ ν리ν½μ€λ‘ βκ³΅κΈ μ
체 μ λμ¬β μ λλ‘ μκ°νμλ©΄ λ©λλ€.
λ¨μνκ² μκ°νλ©΄ μΉ λΈλΌμ°μ κ³΅κΈ μ
체(ꡬκΈ, μ ν λ§μ΄ν¬λ‘μννΈ, λͺ¨μ§λΌ λ±λ±)κ° μ€νμ μΈ κΈ°λ₯μ μ μ©ν μμ±λ€μ
λλ€.
νΉν
-webkit
μ΄ μμ£Ό 보μ΄λλ°, μΉν·μ μ νμμ κ°λ°νκ³ μλ λ μ΄μμ μμ§μ λλ€. μ΄λ₯Ό κΈ°λ°μΌλ‘ μ¬ν리, ν¬λ‘¬, μ€νλΌ λ±μ μ¬λ¬ μΉ λΈλΌμ°μ κ° κ΅¬νλμκΈ° λλ¬Έμ-webkit
λ²€λ ν리ν½μ€κ° μμ£Ό 보μ΄λ κ² μ λλ€. π