๋ง์ฐ์ค ์ค๋ฒ ์, ์๊ฐ ๋ฒํผ์ด๋ผ๊ณ ํ์คํ ๋๊ปด์ง๋ ๋ฒํผ๋ค์ ์ค์ตํด๋ณธ๋ค.
๋ชฐ๋๊ณ ์ ๊ธฐํ ๋ฒํผ๋ค์ ๋๋ง ์ค๋ช ํด๋ณด๊ณ , ์ง์ ์๋์์ ๋์ผ๋ก ํ์ธ!!!
https://ssssssjay.github.io/Front-end-school/button-challenge.html
.c1:hover {
transform: translateX(100px);
transition-timing-function: ease; }
.c2:hover {
transform: translateX(100px);
transition-timing-function: linear; }
.c3:hover {
background: darkgreen; }
.c4:hover {
background: darkgreen;
color: salmon; }
.c5:hover {
transform: scale(1.4); }
.c5
: ์ฐ์ sclae
, ๋จธ๋ฆฟ์์์ ์ ๋ฆฌ๊ฐ ์ ์๋์๋ ๊ฒ ๊ฐ๋ค.
์ค์ผ์ผ์ ํ๋, ์ถ์์ด๋ค! ์ฆ ๋๋น๋์ด๋ฟ ์๋๋ผ, ๊ธ์จํฌ๊ธฐ๊น์ง ํ๋๋์ด ๋ณด์ธ๋ค!
(ํฌ๊ธฐ๊ฐ ์ค์ ๋ก ์ปค์ง๋ค๋ผ๊ธฐ ๋ณด๋ค๋ '๋๋ณด๊ธฐ๋ก ๋ณธ๋ค'๋ก ์ดํดํ๋ค)
.c6:hover {
width: 1000px;
height: 270px;
}
.c7:hover {
letter-spacing: 20px;
width: 370px;
}
.c8:hover {
/* overflow hidden ์๋๊ฑฐ ๋ช
์ฌ!!! */
line-height: 400px;
}
.c8
: ์ค ๊ฐ๊ฒฉ์ด ๋์ด์ง๋ค. ์ฆ ๊ธ์จ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋์ ๊ณต๊ฐ์ด ์๊ธด๋ค. ์ด ๋, ๊ธ์จ๋ ๋ถ๋ชจ๋ฐ์ผ๋ก ๋๊ฐ ๋ฒ๋ฆดํ
๊ณ , ๋ถ๋ชจ์ overflow: hidden;
์ ์ฃผ์ด ๋์ณ๋๋ ์ ๋ ๋ณด์ฌ์ฃผ์ง ์๋๋ค!!!
.c9:hover {
opacity: 0.3;
}
.c10:hover {
border-color:deepskyblue;
border-width: 20px;
}
.c11:hover {
transform: rotate(20deg);
}
.c12:hover {
transform-origin: top;
transform: rotate(20deg);
}
.c13:hover {
transform-origin: right;
transform: rotate(20deg);
}
.c14:hover {
transform-origin: left;
transform: rotate(20deg);
}
.c15:hover {
transform-origin: bottom;
transform: rotate(20deg);
}
์ฌ๊ธฐ์๋ถํฐ๋ pseudo element
๋ฅผ ํ์ฉํ์ฌ ๋ง๋๋ ์ค๋ฌด๋๋์ ๋ฒํผ์ด๋ค.
.c16::before {
content: '';
position: absolute;
background-color: seagreen;
/* ์ ์ฒด๋ฅผ ๋ค ์ฐจ์งํ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ!!!! */
top: 0;
left: 0;
right: 0;
bottom: 0;
/* ์ด ๊ฐ์ด ํด์๋ก ๋ฉ๋ฆฌ์ ๋ ์์ค๊ธฐ์ ์ค๋๊ฑธ๋ฆฐ๋ค */
transform: translateX(550px);
transition: all 1s;
}
.c16:hover::before {
transform: translateX(0px);
/* opacity: .4; */
}
์๋์ ์๋๋ฆฌ์ค๋ ๋ฐฐ๊ฒฝ์ด ๋ฐ๊ณ ๋ค์ด์ค๋ฉด์ ๊ธ์๋ ๋ณด์ฌ์ผ ํ๋๋ฐ, ๋ฐฐ๊ฒฝ์ด ๋ฎ์ด๋ฒ๋ฆฐ๋ค๐ฅต
z-index
๋ฅผ ํ์ฉํ์ฌ ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค!!!(ํฌ๋ช
๋๋ฅผ ์ฃผ๋ฉด ๊ธ์๋ ํฌ๋ช
ํด์ ธ,,,)
.c16 {z-index: 1;) .c16::before {z-index: -1;}
์ด๋ ๊ฒ ๊ธ์๊ฐ ์๋๋
์์ ์์ผ๋ก ์ค๊ฒํ๊ณ ๋ฐฐ๊ฒฝ๋ง์ ๋ด๋นํ๋ ๋
์์ ๋ค๋ก ๋ณด๋ธ๋ค!
ํ ๋
์๋ง ์ฒ๋ฆฌํด์ฃผ๋ฉด ์๋๋ค!!!!!
.c17::before {
content: '';
position: absolute;
background-color: white;
width: 100%;
height: 10px;
left: 0;
bottom: 0;
transform: translateX(-550px);
transition: all 1s;
}
.c17:hover::before {
transform: translateX(0);
}
.c17::after {
content: '';
position: absolute;
background-color: white;
width: 100%;
height: 10px;
left: 0;
bottom: 0;
transform: translateX(550px);
transition: all 1s;
}
.c17:hover::after {
transform: translateX(0);
}
.c18::before {
content: '';
position: absolute;
background-color: white;
width: 100%;
height: 10px;
left: 0;
bottom: 0;
transform: translateX(-550px);
transition: all 1s;
}
.c18:hover::before {
transform: translateX(0);
}
.c18::after {
content: '';
position: absolute;
background-color: white;
width: 100%;
height: 10px;
right: 0;
top: 0;
transform: translateX(550px);
transition: all 1s;
}
.c18:hover::after {
transform: translateX(0);
}
17๋ฒ๊ณผ 18๋ฒ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์, ::after์ ํฌ์ง์
์ด๋ค!!!
์ ์ชฝ์ผ๋ก ๊ฐ์ ํด๋์ค๋ฅผ ๋ณด๋ด๋์๊ฒ์ ์ข์ง๋ง, ๊ทธ ์ถ๋ฐ์ ์ด ๊ฐ์๊ฒ ๋ฌธ์ ๋ค.
ํ ๋์ ์๋์์ ์ผ์ชฝ์ผ๋ก ์ถ๋ฐ์ํค๊ณ , ๋ค๋ฅธ ๋์ ์์์ ์ค๋ฅด์ชฝ์ผ๋ก ์ถ๋ฐ์์ผ๋๋๋ค.
๋ถ๋ชจ์ relative๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋ค์ ์์น๋ฅผ ์ก์์ค ์ ์๋ค.
absolute
!
.c19::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: teal;
transition: all 0.8s;
transform: rotateX(90deg);
z-index: -1;
}
.c19:hover::before {
transform: rotateX(0);
}
.c19::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: teal;
transition: all 0.8s;
transform: rotateY(90deg);
z-index: -1;
}
.c19:hover::after {
transform: rotateY(0);
}
.c19:hover {
/* z-index: 1; */
}
.c19 {
z-index: 1;
}
.c20::after {
content: '1';
}
.c20::after::after {
content: '2';
}
.c20::after::after::after {
content: '3';
}
.c21::before {
position: absolute;
content: '์ง-์์!';
color: white;
background: coral;
top: 0;
left: 0;
width: 100%;
height: 100%;
transform: translateY(-100%);
transition: all .8s;
}
.c21:hover::before {
transform: translateY(0);
}
.c19
: ์ ๋
์์ ๊ฐ์ ์์๋ฅผ ์๋ 90๋๋ก ์ธ์๋๊ณ ๋ง์ฐ์ค ์ค๋ฒ ์, ํ์ ์์ผ์ฃผ์ด์ ํจ๊ณผ๋ฅผ ์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ค!!
์น์ ๋ง๋ ์ ์๋ ํ๊ฒฝ์ ํฌ๊ฒ ์ธ ๊ฐ์ง์ ๋๊ฐ ์๋ค.
PC - Tablet - Mobile
๊ฐ ํ๊ฒฝ์ ๋ง๊ฒ ๋ ์ด์์์ ์ง์ผํ๋ค.
์ค๋งํธํฐ์์ ์ํ์ข์ฐ๋ก ์คํฌ๋กคํ๋ฉด์ ์ฐ์ง๋ ์์ํ
๋!!
์ด ๋, ์ธ ์ ์๋๊ฒ @media
(์ณ ๋ฏธ๋์ด)์ด๋ค.
body{background:black;}
@media screen and (min-width:481px) and (max-width:1280px){
body{background:red;}
}
@media screen and (max-width:480px){
body{background:green;}
}
์๋์ ๋ฐ์ํ ์น ํฌ์คํ ์ ์์ฑํ์๋ค.
https://velog.io/@jay__ss/Project-%EB%B0%98%EC%9D%91%ED%98%95-%EC%9B%B9
position: absolute;
top: 0; left: 0; right: 0; bottom:0;
/* or */
top: 0; left: 0; width: 100% height: 100%
class="card item"
= .card.item
์์ง๋ง์ ์ ํ์!!!์ค๋์ ๋ฒ ๋ฅผ๋ฆฐ์ ๊ณ์๋ ์ด์์ง ๊ฐ๋ฐ์๋์ ํน๊ฐ์ ๋ค์๋ค. ์์ ์ ๊ณต๋ถํ ๋น์ ๊ณต์์์ PM์ ๊ฑฐ์ณ ๊ฐ๋ฐ์๊ฐ ๋์ ์ด๋ง๋ฌด์ํ ๋ถ์ด์ จ๋ค๐ ๋ก๋๋งต์ ๋ณด๊ณ '์ ์ด๋ฐ๊ฒ ์๊ตฌ๋'์ ์ ๊ทผ๋ฒ์ด ์๋ ์ฃผ๋์ด๊ฐ ๋๊ธฐ์ํด ์๋ชฉ์ , ๋๋ชฉ์ ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ จ๋ค. ๋ค์ ๋จ๊ณ๋ก ๊ฐ๊ธฐ ์ํด ๋ด๊ฐ ํ ๋น์ฅ์ ์๋ชฉ์ ์ ์ก์๋ณด์๋ค.
Layout Practice - ๋ ๊ฐ๊ณ ์งค ๋๊น์ง
์ด์์ง๋ ํน๊ฐ์ ์ ๋ง ๋ผ์ ์ด์ด ๋์๋๊ฑฐ ๊ฐ์์ ..!