grid
๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ด๊ฐฏ์์ ํ๊ฐฏ์๋ฅผ ์ง์ ํด์ฃผ์ด์ผ ํ๋ค๊ณ ํ์ง๋ง, ๊ทธ ์ธ์๋ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค.
.container {
grid-template-areas: 'header header header'
'section section aside'
'footer footer footer';
์ด๋ ๊ฒ container
์ ์์ญ์ ์ง์ ๋์์ธ์ ํ๋ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ ๋์ด ์๋๋ผ, ๋์์ธํ ์ด๋ฆ์ item
์๋ค๊ฐ ์ ์ธ์ ํด์ฃผ์ด์ผ ํ๋ค.
.header {
grid-area: header;
}
.section {
grid-area: section;
}
.aside {
grid-area: aside;
}
.footer {
grid-area: footer;
}
์ด๋ ๊ฒ, item
๋ค์ด '์ด ์์ญ์ ๋ด๊ฐ ์ฐจ์งํฉ๋๋ค.'๋ผ๋ ์๋ฏธ๋ฅผ ์ ์ธํด์ผ ํ๋ค.
์๋๋ ๊ตฌํ๋ ์ํฉ์ด๋ค. (gap
์ด๋ padding
, background-color
๋ฑ์ ์์์ ์ธ๊ธํ์ง ์์์.)
<ul>
<li>list-1</li>
<li class="item">list-2</li>
<li class="item">list-3</li>
<li class="item">list-4</li>
</ul>
.item:first-child {
color: red;
์์ ์ํฉ์์ list-2์ ์์ ๋ณ๊ฒฝ์ด ๋๋๊ฐ?
๋ต์, ์๋๋ค.
.item:first-child
์ ์ด๋ป๊ฒ ํด์ํ๋์ง ์์๋ณด์.
- ์ฐ์ ์ฐจ์ผ๋๋ฅผ ํ์ธํ์ผ๋ฉด, ๊ทธ ์์์ ์ง๊ณ ๋ถ๋ชจ๋ฅผ ๋จผ์ ์ฐพ๋๋ค.
- ๊ทธ ์ง๊ณ๋ถ๋ชจ์ ์์์ค, ํด๋์ค๊ฐ item์ธ ์ฒซ๋ฒ์งธ ์์์ ์ฐพ๋๋ค.
- ํด๋์ค๊ฐ
item
์ด๋ฉด์ ์ฒซ๋ฒ์งธ ์์์ธ ์์๋ ์์ผ๋ฏ๋ก ๋ณํ๊ฐ ์๋ค.
์ํ๋ ์คํ์ผ(list-2์ ๋นจ๊ฐ๊ธ์จ) ์ ์ง์ ํด์ฃผ๊ณ ์ ํ๋ฉด
.item:nth-child(2) {
color: red;
}
์์ ์คํ์ผ์ ์ง์ ํด์ฃผ์ด์ผ ํ๋ค.
item
์ ๋ถ๋ชจ์ ์ง๊ณ์์ ์ค, class
๊ฐ item
์ด๋ฉด์, 2๋ฒ์งธ์ธ ์์์ ์ฐพ๋๋ค.
calc(a ๋ถํธ b)
: ๊ณ์ฐ์์ด ๋ค์ด๊ฐ๋ค. (100% - 100px) ์ด๋ฐ์์ผ๋ก!
vmin
: ๋ทฐํฌํธ์ ๋๋น์ ๋์ด์ค ๋ ์์ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
min-width
: ์ต์๋๋น๋ฅผ ์๋ฏธํ๋ค. ์ด ํฌ๊ธฐ๋ณด๋ค ์ค์ง ์๋๋ค.
max-width
: ์ต๋๋๋น๋ฅผ ์๋ฏธํ๋ค. ์ด ํฌ๊ธฐ๋ณด๋ค ๋์ด๋์ง ์๋๋ค.
%
: ๋ถ๋ชจ์์์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.
vw
: ๋ทฐํฌํธ์ ๋๋น๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.(๋ทฐํฌํธ๋ฅผ ์์์ผ๋ก ์ค์ด๋ฉด ๊ฐ์ด ์ค์ด๋ ๋ค.)
vh
: ๋ทฐํฌํธ์ ๋์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค.(๋ทฐํฌํธ๋ฅผ ์์๋๋ก ์ค์ด๋ฉด ๊ฐ์ด ์ค์ด๋ ๋ค.)
min(a, b)
: a, b ์ค ๋ ์์ ๊ฐ์ ์ฌ์ฉํ๋ค.
ํท๊ฐ๋ฆด๋๋ง๋ค ์์ ๋งํฌํ๊ณ ๋ค์ด๊ฐ ์ง์ ์ฐฝํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ๋๋ ค๋ณด์!!!!!
https://codepen.io/bbozzay/pen/vaPPmw
์ฝ๋ํ์ ์๋ ๋ ์ด์์์ ๊ตฌํํ๋ฉด์ ๋๋ ์ด๋ ค์ด์ ์ ์ ์ด๋ณธ๋ค.
๋ง์ฐ์ค ์ค๋ฒ์์ ์๋ก ๋ถ ๋จ๋ ๊ฒ ๊ฐ์ ์์ง์์ ์ฃผ๊ณ ์ถ์๋๋ฐ, ์ด๋์ x์ถ์ผ๋ก ์์ y์ถ์ผ๋ก ์์๋ฅผ ์ฃผ๋ฉด ๋๋์ด ์๋ฌ๋ค.
์ข
์ดํ๋๋ฅผ ๊ฐ์ง๊ณ ์๊ฐํด๋ณด๋, ๋น์ฐํ x, y์ถ ๋ชจ๋ ์์๊ฐ์ ์ฃผ์ด์ผ ํ๋ค.
์๋๋ ์ง์ ๊ทธ๋ฆผ์๋ฅผ ์ฃผ๋ ํจ๊ณผ์ด๋ค.
box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.5);
์๋๋ ๊ทธ๋ฆผ์์์ ๊ฐ์ง ์นด๋ ํฌ๊ธฐ๋งํผ์ ๊ฐ์์์๋ฅผ ์์ฑํ๊ณ , z-index
๋ฅผ ์ฃผ์ด ๋ค๋ก ๋ฐ์ด๋ฒ๋ฆฌ๋ ์์
์ด๋ค. (3์ฐจ์์ ๋ค๋ฅผ ์ด์ผ๊ธฐํจ. z์ถ)
.board-item::after {
z-index: -1;
content: '';
position: absolute;
top: 10px;
left: 10px;
background-color: rgba(9, 9, 9, .3);
width: 100px;
height: 100px;
}
z-index
ํ๋ฆผํ์ (ํน์ ๋ฒ๊ทธ..?)๊ทธ๋ฌ๋, ์์ ๊ฐ์์์๋ฅผ ์ฌ์ฉํ์ฌ์
.board-item:hover {
transform: translate(-10px, -10px);
}
๋ฅผ ํ์ธํด๋ณด๋ฉด, ๊ฐ์์์์ z-index
๊ฐ ํ๋ฆฌ๋ ํ์์ด ๋ํ๋๋ค.
๊ทธ๋ฆผ์์ธ๋ฐ ์นด๋ ์์ผ๋ก ๋์๋ฒ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์ด๋ transform
์ฌ์ฉ ์ z-index
๊ฐ ํ๋ฆฌ๋ ํ์๋๋ฌธ์ด๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ์ํด, transform
์ด ์๋, relative
์์ฑ์ ์ด์ฉํ์ฌ
top
๊ณผ left
๋ก ํด๊ฒฐํด์ฃผ์๋ค.
๊ทธ๋ฆผ์๋ฅผ ์ง์ ์์ฑํ๋, ๊ฐ์์์๋ฅผ ๋ง๋ค๋ ๊ทธ๋ฆผ์๋ ๊ฒฐ๊ตญ ๋ถ๋ชจ์ธ ์นด๋์ ์์๋ค์ด๋ค.
์ฆ, ๋ถ๋ชจ๊ฐ ์์ง์ด๋ฉด ๋ฐ๋ผ์ ๊ฐ์ด ์์ง์ธ๋ค.
ํ์ง๋ง ๋๋ ๊ทธ๋ฆผ์๋ ๋ฐ๋ฅ์ ๋ถ์ด์๋ ๋ชจ์์๋ฅผ ์ ์งํ๊ธฐ๋ฅผ ์ํ๋ค.
๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค.
๋ถ๋ชจ๊ฐ ์ด๋ํ๋งํผ, ๋ฐ๋๋ฐฉํฅ์ผ๋ก ์์์ ์ด๋์์ผ์ฃผ๋ฉด ๋๋ค!!!
.board-item:hover::after {
/* ๋ถ๋ชจ๋ top: -15px; left: -15px; ์ด๋ํ๋ค */
/* ๊ฑฐ๊ธฐ์ ๊ธฐ์กด์ ๊ฐ์์์์ 10px ๋งํผ์ฉ ๋ํด์ค ๊ฐ์ด๋ค */
top: 25px;
left: 25px;
}
.board-item:hover {
/* ๊ทธ๋ฆผ์๋ ๋ง์ฐฌ๊ฐ์ง. ๋ถ๋ชจ์ด๋๊ฐ 15px + ์๋๊ทธ๋ฆผ์๊ฐ 10px */
box-shadow: 25px 25px 5px rgba(0, 0, 0, 0.5);
}
๊ณ ์ํ์ จ์ด์ ๐๐