๐ŸŒฑ SeSac/๊ณต๋ถ€ ๊ธฐ๋ก (๋ณต์Šตํ•˜๋ฉฐ ์—…๋ฐ์ดํŠธ ์ค‘)

[220509 / Day 5] CSS ํƒญ ๋งŒ๋“ค์–ด๋ณด๊ธฐ, transform, transition, box-shadow

Jane K 2022. 6. 21. 13:57

1. ๊ธ€์ž๋‚˜ ๊ณต๊ฐ„์„ ๊ฐ€์šด๋ฐ ์ •๋ ฌํ•˜๊ธฐ

box-sizing 328p

boder: border+padding ๊ฐ’

 

๋ธ”๋ก ์š”์†Œ๋“ค์€ text-align ์œผ๋กœ ์•ˆ ๋งž์ถฐ์ง

 

2. tab ๋งŒ๋“ค์–ด๋ณด๊ธฐ

๊ฒน์น˜๊ฒŒ ํ•˜๋ ค๋ฉด position:absolute ํ•ด์ค˜์•ผํ•จ

๋ณดํ†ต dl dt ๋งŽ์ด ์“ฐ์ง€๋งŒ ๊ฐ„๋‹จํ•˜๋ฉด div ๋กœ

์ด๋ ‡๊ฒŒ

<div class="tab-box">

        <dl class="tab">

            <dt>1</dt>

            <dd><img src="img/tab1/1.jpg" alt=""></dd>

            <dt>2</dt>

            <dd><img src="img/tab1/2.jpg" alt=""></dd>

            <dt>3</dt>

            <dd><img src="img/tab1/3.jpg" alt=""></dd>

        </dl>

    </div>

์ด๋ฏธ์ง€๋Š” ์ธ๋ผ์ธ์ด์ง€๋งŒ ์˜ˆ์™ธ๋กœ ๋„“์ด๊ฐ’ ์ง€์ •๊ฐ€๋Šฅ

 

 

3. 02.html ํŒŒ์ผ ํ•„๊ธฐ

.depth1>a ์ด๊ฑด ์ž์‹์š”์†Œ a ๋ฅผ ๋ถ€๋ฅด๊ฒ ๋‹ค๋Š” ๋œป

.depth2 a ์ด๊ฑด ํ•˜์œ„์š”์†Œ a ๋ฅผ ๋ถ€๋ฅด๊ฒ ๋‹ค๋Š” ๋œป

 

.depth1:hover>a ์ด๋ ‡๊ฒŒ ํ•ด์•ผ ํ•˜์œ„์š”์†Œ์— ์ปค์„œ๋ฅผ ๋Œ€๋„ ์ „์ฒด๋กœ ์„ ํƒ๋จ

.depth2 a:hover ์ด๊ฑด li ์™€ ํฌ๊ธฐ ๋˜‘๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ li ์— ์ ์šฉํ•ด๋„ ๋จ

 

ํŠน์ • ๋„“์ด๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋ฉด ํ•˜์œ„์— ๊ผญ ๋„“์ด ๋ถ€์—ฌํ•ด์•ผํ•จ 200px

 

.depth1:hover>.depth2{display: block;} ๋ށ2๋ฅผ ๊ธฐ๋ณธ none์œผ๋กœ ํ•˜๊ณ  ๋ށ1์— ํ˜ธ๋ฒ„ํ•˜๋ฉด ๋ށ2๋ฅผ ๋ธ”๋ก์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ๋œป

 

4. 03.html ํŒŒ์ผ ํ•„๊ธฐ

๊ธ€์ž์ˆ˜๊ฐ€ ๋งŽ์ด ๋‹ค๋ฅธ ํƒญ์„ ๋งŒ๋“ค๋ฉด ๋งˆ์ง„์„ ์ฃผ๋ฉด ๊ณต๊ฐ„์˜ ์—ฌ๋ฐฑ์ด ๋‹ฌ๋ผ์„œ ๋งž์ง€ ์•Š์Œ

 

04.html ์Šคํƒ€์ผ ์•ˆ์žกํž˜ ๋‹ค์‹œ!

๊ฐ™์€ ์ž๋ฆฌ์— ๋‚˜ํƒ€๋‚˜๊ฒŒ ํ•˜๋ ค๋ฉด gnb์— ํฌ์ง€์…˜ ๋ ๋Ÿฌํ‹ฐ๋ธŒ

 

ํ•˜์œ„ ๋ฉ”๋‰ด์— ํฌ์ง€์…˜ ์—ก์†”๋ฃจํŠธ๋ฅผ ์ฃผ๋ฉด ๊ฒน์ณ์ง ๊ทธ๋ž˜์„œ ์ „์ฒด ๋ฉ”๋‰ด์—์„œ ํฌ์ง€์…˜ ๋ ๋Ÿฌํ‹ฐ๋ธŒ๋ฅผ ์ค˜์•ผ ํ•จ

.gnb .depth1 ์— position: relative ๋ฅผ ๋„ฃ์–ด๋„ ๋˜์ง€๋งŒ ๊ทธ๋Ÿฌ๋ฉด ๊ฐ ๋ฉ”๋‰ด ๊ธฐ์ค€์œผ๋กœ ์œ„์น˜๊ฐ€ ์žกํžˆ๊ธฐ ๋•Œ๋ฌธ์—

.gnb ์— position: relative ๋ฅผ ์žก์•„์•ผ ์ „์ฒด ๋ฉ”๋‰ด ๊ธฐ์ค€์œผ๋กœ ์œ„์น˜๊ฐ€ ์žกํž˜

 

5. transform, transition

transform 449p : ๊ฐ’์„ ์ค˜์„œ ์ด๋ฏธ์ง€ ๊ฐ™์€ ๊ฒƒ์„ ํฌ๊ธฐ ์กฐ์ ˆ, ์œ„์น˜ ์กฐ์ ˆ ๋“ฑ

๋ณ€ํ•˜๋Š” ๊ฒƒ

 

transition

.box2:hover>div{transform: translate(50px,50px); transition-property: transform; transition-duration: 1s;}

=> 1์ดˆ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์›€์ง์ด๋ผ๋Š” ๋œป

๋ณ€ํ•˜๋Š” ์ค‘๊ฐ„๋‹จ๊ณ„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ, ์†์„ฑ๋ช…์„ ์ง€์ •ํ•ด์•ผ ํ•จ transition-property: background; ๋Œ€์ƒ์„ ์ง€์ •ํ•ด์ค˜์•ผ ์›ํ•˜๋Š”๋Œ€๋กœ ๋ณ€ํ•จ ๋Œ€์ƒ๋„ ์ง€์ •ํ•˜๊ณ  ๊ฐ ๋“€ํ”Œ๋ฆฌ์ผ€์ดํŠธ๋‚˜ ๋”œ๋ ˆ์ด ๋“ฑ์˜ ๊ฐ’๋„ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•จ ํ•˜๋‚˜ ์ง€์ •ํ•˜๋ฉด ๋‘ ๊ฐ’ ์ „์ฒด๊ฐ€ ๋ณ€ํ•˜๊ณ , ๋‘ ๊ฐ’์„ 1s, 2s ์ด๋ ‡๊ฒŒ ์ง€์ •ํ•˜๋ฉด ๊ฐ๊ฐ ์†์„ฑ๊ฐ’์ด ์ ์šฉ๋จ

์˜ˆ: transition-property: background width; transition-duration: 1s; => ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด

timing-function ํ•ด์ฃผ๋ฉด ์ง„ํ–‰์ƒํ™ฉ๊ณผ ํƒ€์ž„์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์คŒ cubic-bezier(.17,.67,.83,.67) ๋ผ๋Š” ๊ฑธ ์ ์šฉํ•˜๋ฉด ํ†ตํ†ต ํŠ€๋Š” ๊ฒƒ์„ ์—ฐ์ถœ ๊ฐ€๋Šฅ

๋ฐ•์Šค๋ณด๋‹ค ์ปจํ…์ธ  ๋„˜์–ด๊ฐ€๋Š” ๊ฑธ ์•ˆ๋ณด์ด๊ฒŒ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด overflow: hidden; ์„ค์ •ํ•ด์•ผ ํ•จ

transition: all์„ ํ•˜๊ฑฐ๋‚˜ property ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ all์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์š”์†Œ์˜ ๋ชจ๋“  ์†์„ฑ์ด ํŠธ๋ Œ์ง€์…˜ ๋Œ€์ƒ์ด ๋จ

 

transform-origin

๋ณ€ํ˜• ๊ธฐ์ค€์ ์€ ์›๋ž˜ ์ค‘๊ฐ„, ์ด ์†์„ฑ์€ ๊ธฐ์ค€์  ์„ค์ •ํ•˜๋Š” ๊ฒƒ

 

6. border-radius ๋ชจ์„œ๋ฆฌ๋ฅผ ๋‘ฅ๊ธ€๊ฒŒ

div:nth-of-type(4) {border-radius: 80px 80px 0 0}

=> ์™ผ์ชฝ ์ƒ๋‹จ๋ถ€ํ„ฐ ์ˆ˜์น˜ ์žก์Œ

div:nth-of-type(3) {border-radius: 50px 30px;}

=> ๋Œ€๊ฐ์„ ์œผ๋กœ ์™ผ์ชฝ ์ƒ๋‹จ, ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์ด 50px, ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ, ์™ผ์ชฝ ํ•˜๋‹จ์ด 30px

์ „์ฒด ๋„“์ด์˜ ๋ฐ˜์ด ๋ฐ˜์ง€๋ฆ„? / ์ด๋ฏธ์ง€ ํŒŒ์ผ์€ ๋ฌด์กฐ๊ฑด overflow:hidden ์ฒ˜๋ฆฌํ•ด์•ผ ๋‘ฅ๊ธ€๊ฒŒ ๋ณด์ž„

 

 

7. ๊ทธ๋ฆผ์ž ์ฒ˜๋ฆฌ box-shadow 312p

์†์„ฑ์€ ๋”ฐ๋กœ ์“ฐ์ง€ ์•Š๊ณ  ๊ฐ’๋งŒ ๋‚˜์—ดํ•˜๋ฉด ๋จ

๋ฒˆ์ง์ •๋„๋Š” ์•ˆํ•ด๋„ ์ƒ๊ด€ ์—†์Œ

inset ์€ ์•ˆ์ชฝ ๊ธฐ๋ณธ์€ outset

์ƒ‰์ƒ์€ rgba ๋งŽ์ด ์”€

ํ…์ŠคํŠธ๋Š” inset ์ ์šฉ ์•ˆ๋จ

 

 

๋‹ค์‹œ ํ™•์ธํ•  ๊ฒƒ: ์ด๋ฏธ์ง€ ๋ฉ€ํ‹ฐ๋กœ ๊น”๊ธฐ?????? 270p ๋‹ค์‹œ ํ™•์ธ, background ์†์„ฑ๊ฐ’ ๋„ฃ๋Š” ๋ฒ• ํ™•์ธ