[๐ฆFE DAY8(3)] ํ์ค CSS ๋ฐ์ค ๋ชจ๋ธ
ํ์ค CSS ๋ฐ์ค ๋ชจ๋ธ
ํ์ค CSS ๋ฐ์ค๋ชจ๋ธ์์ ์์ ์ ์ฒด ํฌ๊ธฐ = ์ปจํ ์ธ + ๋ณด๋ + ํจ๋ฉ
1. ์ปจํ ์ธ ๋ฐ์ค ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ width, height (block box์ธ ๊ฒฝ์ฐ๋ง!)
<head>
<style>
div {
width: 50px;
height: 50px;
background-color: orange;
}
</style>
</head>
<div><div>
<body>
2. border
border๋ ๋ง ๊ทธ๋๋ก ์ปจํ
์ธ ๋ฐ์ค์ ํ
๋๋ฆฌ!
ํ์ค CSS ๋ฐ์ค ๋ชจ๋ธ์์ border์ ํฌ๊ธฐ ๋ํ ์์ ์ ์ฒด ํฌ๊ธฐ์ ํฌํจ ๋๋ค.
button {
border-width: 3px;
border-style: solid;
border-color: blue;
}
/* ์ถ์ฝํ */
button {
border: 3px solid blue;
}
-
border-width
- ์ง์ ์ง์ - px๊ณผ ๊ฐ์ ๋จ์๋ก ์ง์ ์ง์
- medium - ์ค๊ฐ ๊ตต๊ธฐ๋ก ์ง์
- thin - ์์ ์ ์ผ๋ก ์ง์
- thick - ๊ตต์ ์ ์ผ๋ก ์ง์
-
border-style
- none - ํ ๋๋ฆฌ์ ์์ ๊ธฐ
- solid - ์ง์
- dotted - ์ ์
- dashed - ๋ฐ๋์ง์
- double - ์ด์ค์
,
,
,
border style์ ๋งค์ฐ ๋ค์ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋๊ทธ๋ ์ฐพ์๋ณด๊ธฐ!
(https://developer.mozilla.org/ko/docs/Web/CSS/border-style)
-
border-color
button {
border-color: red; /* ๋ค ๋ฉด์ ๋์ผํ ์์*/
border-color: red orange; /* ์ํ ์ข์ฐ */
border-color: red orange yellow; /* ์ ์ข์ฐ ํ */
border-color: red orange yellow green; /* ์ ์ฐ ํ ์ข (์๊ณ๋ฐฉํฅ)*/
}
- border-radius
radius ์์ฑ์ ํ ๋๋ฆฌ ๊ผญ์ง์ ์ ๋ฅ๊ธ๊ฒ ๋ง๋ค์ด ์ค๋ค.
border-radius: 30px;
- ์ ๋ง๋ค๊ธฐ
-> radius๋ฅผ 50%๋ก ์ฃผ๊ฒ๋๋ฉด ์์ ๋์ด์ ์ ๋ฐ๋งํผ ๋ฐ์ง๋ฆ์ด ๋ง๋ค์ด์ ธ์ ์์ด ๋ง๋ค์ด์ง๋ค.
div{
width: 100px;
height: 100px;
border-width: 3px;
border: 3px solid black;
border-radius: 50%;
}
- ํน์ ๊ผญ์ง์ ๋ง ๋ฅ๊ธ๊ฒ ๋ง๋ค๊ธฐ
border-top-left-radius: 50px; /* ์๋จ ์ผ์ชฝ */
border-top-right-radius: 40px; /* ์๋จ ์ค๋ฅธ์ชฝ */
border-bottom-left-radius: 30px; /* ํ๋จ ์ผ์ชฝ */
border-bottom-right-radius: 20px; /* ํ๋จ ์ค๋ฅธ์ชฝ */
3. padding
ํ์ค CSS ๋ฐ์ค ๋ชจ๋ธ์์ padding์ ํฌ๊ธฐ๋ ์์ ์ ์ฒด ํฌ๊ธฐ์ ํฌํจ ๋๋ค.
div {
width: 100px;
height: 30px;
border: 3px solid black;
padding: 10px;
}
div ์ ์ฒด ๊ฐ๋ก๊ฐ = 100+10+10+3+3 = 126
div ์ ์ฒด ์ธ๋ก๊ฐ = 30+10+10+3+3 = 56
- padding ๊ฐ ๋ฐ๋ก๋ฐ๋ก ์ค ์ ์์
padding: 10px; /* ๋ค ๋ฐฉํฅ ๋ชจ๋ ๋์ผํ๊ฒ 10px ์ ์ฉ*/
padding: 10px 20px; /* ์ํ ์ข์ฐ */
padding: 10px 20px 30px; /* ์ ์ข์ฐ ํ */
padding: 10px 20px 30px 40px; /* ์ ์ฐ ํ ์ข */
4. margin
margin์ ์์ ์ ์ฒด ํฌ๊ธฐ์ ํฌํจ๋์ง ์๋๋ค. ํ์ง๋ง ์์์ ์์ ์ฌ์ด์ ์์ญ์ ์ํฅ์ ์ค๋ค.
div {
width: 100px;
height: 30px;
border: 3px solid black;
margin: 10px;
}
div ์ ์ฒด ๊ฐ๋ก๊ฐ = 100+3+3 = 106
div ์ ์ฒด ์ธ๋ก๊ฐ = 30+3+3 = 36
-> ๋ง์ง๊ฐ์ ์ ์ฒด ์์ ํฌ๊ธฐ์ ํฌํจ๋์ง ์๋๋ค!
- margin ๊ฐ ๋ฐ๋ก๋ฐ๋ก ์ค ์ ์์
margin: 10px; /* ๋ค ๋ฐฉํฅ ๋ชจ๋ ๋์ผํ๊ฒ 10px ์ ์ฉ*/
margin: 10px 20px; /* ์ํ ์ข์ฐ */
margin: 10px 20px 30px; /* ์ ์ข์ฐ ํ */
margin: 10px 20px 30px 40px; /* ์ ์ฐ ํ ์ข */
margin: 10px auto;
/* auto
: ์์ ํฌ๊ธฐ๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ง์ง์์ญ์ ๋ฐ์ผ๋ก ๋๋ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ๋ถ๋ฐฐํ๋ค.
์ข์ฐ๋ก๋ง auto์ ์ฉํ ์ ์๊ณ ์ํ๋ก๋ auto ์ ์ฉํ ์ ์๋ค.*/
๋ง์ง ๊ฒน์นจ ํ์ (margin collapsing)
: ์ธ์ ํ๋ ๋ธ๋ก์์์ ์ํ๋จ์ ๋ง์ง์ด ๊ฒน์ณ์ก์ ๋ ๋ ํฐ ๋ง์ง ๊ฐ์ด ์ ์ฉ๋๋ ํ์
๋ง์ง ๊ฒน์นจ ํ์์ ์กฐ๊ฑด
1. ์ธ์ ํ๋ block ์์๋ผ๋ฆฌ๋ง ์ผ์ด๋๋ค.
2. ์ํ๋จ๋ง ๊ฒน์นจํ์์ด ์ผ์ด๋๋ค. (์ข์ฐ์ ์ฌ๋ฐฑ์ ๋ณํฉ์ ์ผ์ด๋์ง ์๋๋ค)
Case 1: ์ธ์ ํ๋ block ์์๋ผ๋ฆฌ ์ํ๋ก ๋ง์ง์ด ๊ฒน์น ๊ฒฝ์ฐ
<div class="one"></div>
<div class="two"></div>
div {
width: 100px;
height: 100px;
background-color: khaki;
}
.one {
margin-bottom: 30px;
}
.two {
argin-top: 60px;
}
๋ ์์์ ๋ง์ง์ด ์ ์๋๋ก ๊ฒน์น์ง๋ง ๋ ๋ง์ง ๊ฐ์ด ๋ํด์ง์ง ์๋๋ค. ์ฒซ๋ฒ์งธ ์์์ ๋ง์ง๊ฐ(30px) ๋ณด๋ค ๋ ํฐ ๋๋ฒ์งธ ๋ง์ง ๊ฐ(60px)์ด ์ ์ฉ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Case2: ๋ถ๋ชจ์ ์์๊ฐ ๋ง์ง์ด ๊ฒน์น ๊ฒฝ์ฐ
(1) ๋ถ๋ชจ์ ์์ ๋ ๋ค ๋ง์ง์ด ์๋ ์ํ
.parent {
background-color: white;
width: 300px;
margin: 0;
}
.children {
background-color: blue;
width: 200px;
height: 200px;
border: 1px solid black;
margin: 0;
}
(2) ์์์๊ฒ ๋ง์ง ์ํ ์ข์ฐ 50px์ฉ ์คฌ๋ค.
์ด๋ ๊ฒ ๋ ์ด์ ๋,
๋ง์ง ๊ฒน์นจ ํ์์ ์กฐ๊ฑด์ด ๋ง์กฑํ๊ธฐ ๋๋ฌธ์ธ๋ฐ
์ผ๋จ ๋ถ๋ชจ, ์์์์ ๋๋ค ๋ธ๋ญ์์์ด๊ณ ์ธ์ ํด์๋ค.(์กฐ๊ฑด1 ๋ง์กฑ)
๊ทธ๋ฆฌ๊ณ ์์์ ์ข์ฐ ๋ง์ง์ ์ ์ ์ฉ ๋์์ง๋ง ์ํ ๋ง์ง๋ง ์ ์ฉ์ด ๋์ง ์์๋ค. ์ด๊ฒ์ ๋ถ๋ชจ์ ์์๊ฐ์ ๋ง์ง์ด ๊ฒฐํฉ๋์๋ค๋ ๋ป! (์กฐ๊ฑด2 ๋ง์กฑ)
์ฆ, ๋ง์ง ๊ฒฐํฉ์ด ๋๋ฉด ๋ ๋ง์ง๊ฐ ์ค ํฐ ๋ง์ง๊ฐ์ด ์ ์ฉ์ด ๋๋๋ฐ
์์์ ๋ง์ง๊ฐ์ 50px์ด๊ณ ๋ถ๋ชจ์ ๋ง์ง๊ฐ์ 0px์ด๋ฏ๋ก ๋ ํฐ ์์์ ๋ง์ง๊ฐ 50px์ด ์ ์ฉ๋๋ค.
๋ฐ๋ผ์, 50px์ ์ด์ ๋ถ๋ชจ์ ๋ง์ง๊ฐ์ด ๋์ด๋ฒ๋ฆฐ ๊ฒ์ด๋ค.
- ํด๊ฒฐ๋ฐฉ๋ฒ
-
๋ถ๋ชจ ์์์ border๊ฐ ์ ์ฉํ๊ธฐ
- ๋ถ๋ชจ ์์์ border๊ฐ์ ์ ์ฉํด์ฃผ์ด ๋ถ๋ชจ์ ์์์ ๋ง์ง์ด ๊ฒน์น์ง ์๊ฒ ๋ง๋ ๋ค.
- ํ์ง๋ง, ๋ง์ฝ border = 1px์ ์ฃผ์๋ค๊ณ ๊ฐ์ ํ๋ค๋ฉด, ์ด์ฐ๋ฌ๋ 1px์ด ๋ ๋์ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋์์ธ ์ธก๋ฉด์์ 1px์ ์ค์ฐจ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
1.1 ๋น tableํ๊ทธ ๋ฃ๊ธฐ
tableํ๊ทธ ์์ฒด์๋ ์๋ฌด๋ฐ ํฌ๊ธฐ๊ฐ ์์ด์ ๋ฐ์ค ํฌ๊ธฐ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค!
<div class="parent">
<div class="children">A</div>
<div class="children">B</div>
</div>
-
์์ ์์์ display์์ฑ๊ฐ์ inline-block์ผ๋ก ๋ฐ๊พธ๊ธฐ
-
๋ง์ง ๊ฒฐํฉ ํ์์ ์กฐ๊ฑด1(์ธ์ ํ๋ block ์์๋ผ๋ฆฌ๋ง ์ผ์ด๋๋ค)์ด ๋์ด์ ๋ง์กฑ๋์ง ์์ ๋ถ๋ชจ์ ์์๊ฐ์ ๋ง์ง ๊ฒฐํฉ ํ์์ด ์ผ์ด๋์ง ์๋๋ค.
-
ํ์ง๋ง, ์์๋ค๋ผ๋ฆฌ์ ๋ง์ง๋ณํฉ๋ ์ผ์ด๋์ง ์์ ์์๋ค์ ๋ง์ง๊ฐ์ด ๋ํด์ง๋ค.
์ด๋ฏธ์ง๋ฅผ ๋ณด๋ฉด ์์๋ค๊ฐ ๋ง์ง๊ฒฐํฉ์ด ์๋ ์๊ฒจ์ผํ๋ ๋ถ๋ถ์ ๋ง์ง๊ฒฐํฉ์ด์๊ธฐ์ง ์๊ณ ์๋ก ๋ฐ์ด๋ด์ด ํด๋น ๋ถ๋ถ์ด ๋ ๋์ด์ก๋ค.
-
-
๋ถ๋ชจ์์์ overflow: hidden ์ ์ฉํ๊ธฐ
- ๋ถ๋ชจ์์์ overflow: hidden์ ์ ์ฉ์์ผ์ฃผ๋ฉด ๋ถ๋ชจ, ์์๋ฐ์ค์ ํฌ๊ธฐ์๋ ์ํฅ์ด์๊ณ ์์๋ค๊ฐ์ ๋ง์ง๋ณํฉ๋ ์ผ์ด๋๋ ๋์์ ๋ถ๋ชจ, ์์๊ฐ์ ๋ง์ง๋ณํฉ์ ๋ ์ผ์ด๋์ง ์๊ฒ ๋ง๋ค ์ ์๋ค!
์ฐธ๊ณ
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([๐ฆFE DAY8(3)] ํ์ค CSS ๋ฐ์ค ๋ชจ๋ธ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@alsdl3344/FE-DAY84-ํ์ค-CSS-๋ฐ์ค-๋ชจ๋ธ-๋์ฒด-CSS-๋ฐ์ค-๋ชจ๋ธ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค