grid ์ ๋ํด ๊ฐ๋จํ๊ฒ ๋ณต์ตํ๊ณ ์ด์ ๋ง๋ holy grail layout ๋ flex ๋์ grid๋ฅผ ์ฌ์ฉํด์ ๋ค์ ๋ง๋ค์ด ๋ณด์๋ค. 001~003.html
๊ฑฐ์ ๋ณด์๋ง์ pespective๋ transform, transtion ์ค์ ๊ตฌํํ๋๊ฑฐ ์๋? ํ๊ณ ํธ๊ธฐ๋กญ๊ฒ ์์ํ๋๋ฐ, ๋ง๋๋ก ๋์ง ์์๋ค.
1. perspective ๋ฅผ ์ฃผ๋ฉด ํฌ๊ธฐ ์ฐจ์ด๊ฐ ์๊ฒจ์ rotate๋ง์ ์จ์ ํด๊ฒฐ | 2. ๊ทธ๋ฆผ์๋ฅผ after ์์๋ก ๋ง๋ค์ด์ ๋ฐ์ผ๋ก ๋ด๋ ธ๋๋ฐ, hover ์ผ ๋ z-index ๋ฌธ์ ๊ฐ ์์ด์ Transform ๋์ position์ ์ฌ์ฉํด์ ์ฌ๋ฆฌ๊ณ ๋ด๋ฆฌ๊ฒ ํ๋ค. | 3. ๊ทธ๋ฌ๋๋ ๊ทธ๋ฆผ์๊ฐ ๊ฐ์ด ์ฌ๋ผ๊ฐ์ position: fixed ๋ฅผ ์ฌ์ฉํ๋๋ ๊ทธ๋ฆผ์๊ฐ after๋ผ์ item ์ ์์์ด๋ผ item์ ๋ถ์ด๋ฒ๋ฆผ | 4. ๊ทธ๋ฆผ์๋ ๋ด๋ฆฌ๊ณ , ์์๋ ์ฌ๋ ค์ ํด๊ฒฐํ๋ค | 5. grid๋ฅผ ํ๋ ๋ ๋ง๋ค์ด์ ๋ฐ์ ๊น๋ ๊ฒ๋ ํ๋์ ๋ฐฉ๋ฒ์ด๋ค!
.board-item { /* relative๋ฅผ ๋ฃ์ด์ Stacking order ๋ฐฐ์น */ position: relative; top: 0; left: 0; width: 100px; height: 100px; transition: all .3s; } .board-item:hover { cursor: pointer; /* transform: translate(-10px, -10px); */ top: -15px; left: -15px; } .board-item::after { z-index: -1; content: ''; position: absolute; top: 10px; left: 10px; background-color: #999; width: 100px; height: 100px; transition: all .3s; } .board-item:hover::after { top: 25px; left: 25px; }
ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ CSS๋ก ์ก์ผ๋ ค๋ฉด radio, checkbox + label ์ ์ฌ์ฉํ๋ค. checkbox๋ ์จ๊ธฐ๊ณ , label๋ง ๋ณด์ด๊ฒ ํ ๋ค, label ์์ฑ์ ๋ณํ๋ฅผ ์ฃผ๋ ๊ฒ!!
์ด์ ํด๋น label ํฌ๊ธฐ๋ฅผ ๋ง์ถ๊ณ , ์ธ์์ ๋ผ๋์ค๋ฒํผ checked์ด๋ฉด label์ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ๊ฒ ํ ๋ค ํตํต ํ๋ ์ ๋๋ฉ์ด์ ์ ์ฃผ๋ฉด ๋จ!
width: calc(100%-200px); width: min(500px, 50vw); min-width: 500px;
iOS์์๋ ํญ์ ์ด๋ฐ์์ผ๋ก ๋ค๋ค์ด์... ๊ทผ๋ฐ html css๋ ์ฐ์ฐ์๊ฐ ์๋๊ฑฐ ๊ฐ์์ js ๋ค์ด๊ฐ๊ธฐ ์ ์ ์๋ ์ค ์์๋๋ฐ ๊ทธ๋ ์ด๋ฐ ๊ธฐ๋ฅ์ด ์์๋ฆฌ๊ฐ ์์ง...
- input์ label ๊ผญ ๋ฌ๊ธฐ. | - ๊ณตํต์ ์ผ๋ก ์ธ๋งํ ๊ฒ์ module๋ก ๋ฌถ์ด๋๊ณ ํด๋น class๋ฅผ ๋ฐ๋ก๋ฐ๋ก ๊ฐ์ ธ๋ค ์ฐ๋ฉด์ ์์ ํ๋ค. | - ์์์๋ถํฐ ์์๋๋ก ๋งํฌ์ ์ด ์๋๋ผ ๋ ผ๋ฆฌ์ ์์๋๋ก!!! ๋ก๊ทธ์ธ ๋ฒํผ๊ณผ ๋ซ๊ธฐ ๋ฒํผ์ ๊ฐ์ด ๋ฌถ์ฌ ์๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์์์ ๋ง๋ค. | - ์์ด์ฝ์ ๋ฒํผ ์์ background-image๋ก ๋ฃ๊ณ ๊ธ์จ๋ ๋ ๋ฆฌ๊ณ ์ถ๋ค๋ฉด ๋ฒํผ ์์ span ํ๊ทธ๋ก ๊ธ์จ๋ฅผ ์ฐ์.
display: block; width: 100%;
๋ก ์ฌ์ฉํ๊ฑฐ๋ vertical-align: top;
์ ์ฃผ๋ฉด ํด๊ฒฐํ ์ ์๋ค!!! img, vertical-alignconsole.log('์ฝ์์ฐฝ์ log ์ฐ์ด์ค'); const a = 10; // ์์ let b = 20; // ๋ณ์. swift์์๋ ์ด๊ฒ ์์์ธ๋ฐ......๐ฑ
bool true, false; // bool์ ์๋ฌธ์. let point = null; // null : ๊ฐ์ด ์๋ค๊ณ ๋ช ์์ ์ผ๋ก ์๋ ค์ค, ํ์ด์ฌ None let something; // undefined : null๊ณผ ๋ค๋ฆ๐ฑ ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์๋๋ฐ, ๊ฐ์ด ์๋ ๊ฒ
const list = []; // ๋ค์ด๊ฐ๋ ๊ฐ์ type์ด ๋ค ๋ฌ๋ผ๋ ๋จ...๐ฑ list[3]; list.push(); // push๊ฐ ๊ธฐ๋ณธ.๐ฑ
// Object : ๋ค๋ฅธ ์ธ์ด dictionary ๋ฌธ๋ฒ....๐ฑ const player = { name: "ddosang", points: 10, update: "true" }; player.name, player["name"] // property์ ์ ๊ทผ. const์ฌ๋ ์์ property ๊ฐ์ ์์ ๊ฐ๋ฅ. player.lastName = "Lim"; // ์๋ ์์ฑ ๋ฃ์ผ๋ฉด ์๋ก ์์ฑ๋ ์ถ๊ฐ๋จ
<์๋ก ์๊ฒ ๋ ์ฌ์ค๋ค>