๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“š FrontEnd -Study/HTML, CSS17

[CSS] em / rem ์ ˆ๋Œ€์ ์ธ ์œ ๋‹›์—๋Š” px์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ  ์ƒ๋Œ€์ ์ธ ์š”์†Œ์—๋Š” viewport์™€ em, rem์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿผ ์–ธ์ œ ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ? ์ฒซ๋ฒˆ์งธ๋กœ ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€์€ ๋ถ€๋ชจ ์š”์†Œ์˜ ์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ผ์„œ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ณ€๊ฒฝ์ด ๋˜์•ผ ํ•œ๋‹ค๋ฉด %๋‚˜ em ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ถ€๋ชจ์™€๋Š” ์ƒ๊ด€์—†์ด ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์ฆˆ์— ๋Œ€ํ•ด ๋ฐ˜์‘ํ•ด์•ผ ํ•œ๋‹ค๋ฉด viewport๋‚˜ rem์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๋‘๋ฒˆ์งธ๋Š” ์š”์†Œ์˜ ๋„ˆ๋น„์™€ ๋†’์ด์— ๋”ฐ๋ผ์„œ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ณ€๊ฒฝ์ด ๋˜์•ผ ํ•œ๋‹ค๋ฉด %๋‚˜ viewport๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ณ  font์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ผ์„œ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋ณ€๊ฒฝ์ด ๋˜์•ผํ•œ๋‹ค๋ฉด em๊ณผ rem์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ๋””์ž์ธ์„ ๋งŒ๋“œ๋Š๋ƒ์— ๋”ฐ๋ผ, ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ๊ฐ€์— ๋”ฐ๋ผ em ์„ ์จ์•ผํ•  ๋•Œ rem์„ ์จ์•ผ ์ ํ•ฉํ•œ์ง€๊ฐ€ ์žˆ๋‹ค. rem ๋จผ์ € rem์€ root ์š”์†Œ,.. 2023. 2. 18.
TIL - [HTML/CSS ๊ธฐ์ดˆ] ์™€์ด์–ดํ”„๋ ˆ์ž„(Wireframe) : ๋ ˆ์ด์•„์›ƒ์˜ ๋ผˆ๋Œ€๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋‹จ๊ณ„๋ฅผ ๋งํ•œ๋‹ค. ์™€์ด์–ดํ”„๋ ˆ์ž„์€ ๋ง ๊ทธ๋Œ€๋กœ "์™€์ด์–ด๋กœ ์„ค๊ณ„๋œ ๋ชจ์–‘"์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋‹จ์ˆœํ•œ ์„ ์ด๋‚˜, ๋„ํ˜•์œผ๋กœ ์›น์ด๋‚˜ ์•ฑ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ฌ˜์‚ฌํ•œ ๊ฒƒ์ด๋‹ค. ์™€์ด์–ดํ”„๋ ˆ์ž„์€ ๋‹จ์ˆœํ•˜๊ฒŒ, ๋ ˆ์ด์•„์›ƒ๊ณผ ์ œํ’ˆ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์šฉ๋„์ด๋‹ค. ์ „ํ™˜ ํšจ๊ณผ๋‚˜, ์• ๋‹ˆ๋ฉ”์ด์…˜, ์‚ฌ์šฉ์ž ํ…Œ์ŠคํŠธ ๊ฐ™์€ ์Šคํƒ€์ผ๋ง ์š”์†Œ๋‚˜ UX(์‚ฌ์šฉ์ž ๊ฒฝํ—˜, User Experience)๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ๋ชฉ์—…(Mock-up) ์›น ๋˜๋Š” ์•ฑ์„ ์ œํ’ˆ์ด๋ผ๊ณ  ํ•  ๋•Œ, ๋ชฉ์—…์€ ์‹ค์ œ ์ œํ’ˆ์ด ์ž‘๋™ํ•˜๋Š” ๋ชจ์Šต๊ณผ ๋™์ผํ•˜๊ฒŒ HTML ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. Flexbox๋กœ ๋ ˆ์ด์•„์›ƒ ์žก๊ธฐ Flexbox๋กœ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์€, ๋ฐ•์Šค๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์—ฌ ๋ ˆ์ด์•„์›ƒ์„ ์žก๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. display: flex ๋ถ„์„.. 2023. 2. 16.
TIL - [CSS ๊ธฐ์ดˆ] CSS CSS๋Š” ์›น ํŽ˜์ด์ง€ ์Šคํƒ€์ผ ๋ฐ ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•˜๋Š” ์Šคํƒ€์ผ์‹œํŠธ ์–ธ์–ด์ด๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ํ•™์Šตํ•œ HTML๋กœ ์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ๋ฅผ ์ž˜ ์„ธ์šฐ๊ณ  ๋‚˜์„œ, ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX, user experience)์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด CSS๋กœ UI ๋ฐ ๋ ˆ์ด์•„์›ƒ์„ ์ ์ ˆํžˆ ๊ตฌ์„ฑํ•˜๋ฉด ๋ฉ‹์ง„ ์›น ํŽ˜์ด์ง€๋ฅผ ์™„์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์•Œ์•„์•ผ ํ•  ๋‹จ์œ„ ์ ˆ๋Œ€ ๋‹จ์œ„ : px, pt, cm ๋“ฑ... * ํ”ฝ์…€(px)์€ ๋ณด๊ธฐ ์žฅ์น˜์— ์ƒ๋Œ€์ ์ด๋‹ค. ๋‚ฎ์€ dpi ์žฅ์น˜์˜ ๊ฒฝ์šฐ 1px์€ ๋””์Šคํ”Œ๋ ˆ์ด์˜ ํ•˜๋‚˜์˜ ์žฅ์น˜ ํ”ฝ์…€(๋„ํŠธ)์ด๋‹ค. ํ”„๋ฆฐํ„ฐ ๋ฐ ๊ณ ํ•ด์ƒ๋„ ํ™”๋ฉด์˜ ๊ฒฝ์šฐ 1px๋Š” ์—ฌ๋Ÿฌ ์žฅ์น˜ ํ”ฝ์…€์„ ์˜๋ฏธํ•œ๋‹ค. ์ƒ๋Œ€ ๋‹จ์œ„ : %, em, rem, ch, vw, vh ๋“ฑ... ์ƒ๋Œ€ ๊ธธ์ด ๋‹จ์œ„๋Š” ๋‹ค๋ฅธ ๊ธธ์ด ์†์„ฑ์— ์ƒ๋Œ€์ ์ธ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒ๋Œ€ ๊ธธ์ด ๋‹จ์œ„๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ Œ๋”๋ง .. 2023. 2. 15.
[HTML ๊ธฐ์ดˆ] ์›น ๊ฐœ๋ฐœ ์ดํ•ดํ•˜๊ธฐ HTML - ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋งˆํฌ์—… ์–ธ์–ด CSS - ์Šคํƒ€์ผ์„ ๋‹ด๋‹นํ•˜๋Š” ๋””์ž์ธ ์–ธ์–ด JavaScript - ๊ตฌ์กฐ์™€ ์Šคํƒ€์ผ์ด ์™„์„ฑ๋œ ๊ฐ๊ฐ์˜ ์š”์†Œ์— ์ƒ๋ช…์„ ๋ถ€์—ฌํ•˜๋Š” ์—ญํ• , user์™€ ์ƒํ˜ธ์žฅ์šฉํ•˜๋Š” HTML ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ์–ธ์–ด Tag๋“ค์˜ ์ง‘ํ•ฉ Tree ๊ตฌ์กฐ : ๋ฌธ์„œ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ ์–ธ : ๋ฌธ์„œ์˜ ๋‚ด์šฉ ๋‹ด๋Š” ๊ณณ : content division ์„ ์˜๋ฏธ, ํ•œ ์ค„ ์ฐจ์ง€ : ์ค„ ๋ฐ”๊ฟˆ์ด ์—†๋Š” content : Unordered list : List item : ์ค„๋ฐ”๊ฟˆ ๋˜๋Š” ์ž…๋ ฅ ํผ input ์†์„ฑ ์ค‘ radio ์™€ checkbox์˜ ์ฐจ์ด์ ์€ 'ํ•˜๋‚˜๋งŒ ์„ ํƒ ๊ฐ€๋Šฅํ•œ๊ฐ€, ์ค‘๋ณต์„ ํƒ์ด ๊ฐ€๋Šฅํ•œ๊ฐ€' ์ด๋‹ค. ์‹œ๋ฉ˜ํ‹ฑ ์š”์†Œ๋ž€? HTML5๋ถ€ํ„ฐ ์‹œ๋ฉ˜ํ‹ฑ ์›น์ด ์ค‘์‹œ๋˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์‹œ๋ฉ˜ํ‹ฑ ์š”์†Œ๊ฐ€ ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ์‹œ๋ฉ˜ํ‹ฑ์ด๋ž€ '.. 2023. 2. 14.
css/ initial vs inherit vs unset ๋ชจ๋“  CSS ์†์„ฑ์—๋Š” ๊ณตํ†ต์ ์œผ๋กœ 3๊ฐ€์ง€ ๊ธฐ๋ณธ ๊ฐ’์ด ์žˆ๋‹ค. initial, inherit, unset. inherit : ์ƒ์œ„ ์š”์†Œ์—์„œ ์†์„ฑ์„ ๊ฐ€์ ธ์˜จ๋‹ค. initial : ์†์„ฑ์˜ ๊ธฐ๋ณธ๊ฐ’(๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ณธ๊ฐ’) unset : ์ƒ์† ๋˜๋Š” ์ดˆ๊ธฐ ์—ญํ• ์„ ํ•œ๋‹ค. ๋ถ€๋ชจ์— ์ผ์น˜ํ•˜๋Š” ๊ฐ’์ด ์žˆ์œผ๋ฉด ์ƒ์†์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ดˆ๊ธฐ๋กœ ์ž‘๋™ํ•œ๋‹ค. 2022. 12. 10.
css/list sytle type ๋ชฉ๋ก์€ ๋˜๋Š” ํƒœ๊ทธ๋กœ ๋งŒ๋“œ๋Š”๋ฐ ๋ชฉ๋ก ์•ž์— ๋ถ™๋Š” ๋ฌธ์ž๋ฅผ(Maker)๋ผ๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ํ˜•์‹ ๋˜๋Š” ๋ชจ์–‘์œผ๋กœ ๋งˆ์ปค๋ฅผ ์‚ฌ์šฉํ• ์ง€๋Š” list-style-type๋กœ ์ •ํ•œ๋‹ค. ์†์„ฑ๊ฐ’ : disc, circle, square : decimal, decimal-leading-zero, lower-roman, upper-roman, lower-greek, lower-latin, upper-latin, armenian, georgian, lower-alpha, upper-alpha ๊ณตํ†ต : none ์˜๋ฏธ์ƒ์œผ๋กœ๋Š” ๊ณผ ์— ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒŒ ๋งž์ง€๋งŒ, ์— decimal์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์— disc๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋“ฑ ๋ฐ”๊พธ์–ด ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค. 2022. 12. 10.
position position ์†์„ฑ CSS ์—์„œ position์€ HTML ๋ฌธ์„œ ์ƒ์—์„œ ์š”์†Œ๊ฐ€ ๋ฐฐ์น˜๋˜๋Š” ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„ position์˜ ์ •ํ™•ํ•œ ์œ„์น˜ ์ง€์ • ์œ„ํ•ด์„œ top, bottom, right, left ์†์„ฑ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค. position : static CSS์—์„œ position ์†์„ฑ ๋ณ„๋„๋กœ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์ธ static์ด ์ง€์ •๋œ๋‹ค. ์ด๋•Œ๋Š” HTML ๋ฌธ์„œ ์ƒ์—์„œ ์›๋ž˜ ์žˆ์–ด์•ผํ•˜๋Š” ์œ„์น˜์— ๋ฐฐ์น˜๋œ๋‹ค. ์ด ๋ง์€ HTML์— ์ž‘์„ฑ๋œ ์ˆœ์„œ ๊ทธ๋Œ€๋กœ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์ด๋ผ top, bottom, right, left ๊ฐ’๋“ค์ด ๋ฌด์‹œ๋œ๋‹ค. position : relative position ์†์„ฑ์„ relative๋กœ ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉด, ์š”์†Œ๋ฅผ ์›๋ž˜ ์œ„์น˜์—์„œ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์š”์†Œ๋ฅผ ์›๋ž˜ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ.. 2022. 10. 24.
display / visibility CSS๋ฅผ ์‚ฌ์šฉํ•ด ํŠน์ • ์ฝ˜ํ…์ธ  ๋ฐ ์š”์†Œ๋ฅผ ์‚ฌ๋ผ์ง€๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ์†์„ฑ์ด ๋ฐ”๋กœ display ์™€ visibility์ด๋‹ค. 1. display์™€ visibility ์ฐจ์ด์  ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋ณด์—ฟ์„๋•Œ์˜ ๊ณต๊ฐ„์ด๋‹ค. ์ฆ‰, ๊ธฐ์กด์˜ ์˜์—ญ์„ ๋นˆ๊ณต๊ฐ„์œผ๋กœ ์ฐจ์ง€ํ•˜๊ณ  ์‚ฌ๋ผ์ง€๋Š๋ƒ ์•„๋‹ˆ๋ฉด ๋นˆ๊ณต๊ฐ„๊นŒ์ง€ ์‚ฌ๋ผ์ง€๊ฒŒ ํ•˜๋Š๋ƒ์˜ ์ฐจ์ด์ด๋‹ค. visibility: hidden; display:none; ๋‘˜ ๋‹ค css๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒƒ์€ ๋™์ผํ•˜๋‚˜ visibility ์†์„ฑ์€ ํ•ด๋‹นํ•˜๋Š” ์š”์†Œ์˜ ์˜์—ญ์ด ๋ณด์ด์ง€๋งŒ ์•Š์„ ๋ฟ ํ™”๋ฉด์— ๊ทธ๋Œ€๋กœ ๋นˆ๊ณต๊ฐ„์œผ๋กœ ์œ ์ง€๋œ๋‹ค. ์˜์—ญ ์ž์ฒด๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค. ( ๊ธฐ๋Šฅ๊นŒ์ง€ ์ˆจ๊น€, ๋งˆ์šฐ์Šค ํด๋ฆญ ๊ฐ€๋Šฅ) display ์†์„ฑ์€ ์˜์—ญ ์ž์ฒด๊นŒ์ง€ ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ ‘ํ•œ ์š”์†Œ์˜ ๋ ˆ์ด์•„์›ƒ์— ์˜ํ–ฅ์„ .. 2022. 8. 26.
transform ์•ˆ๋  ๋•Œ ๋…ธํ‹ฐ๋งˆ๋“œ์ฝ”๋” ์ฝ”์ฝ”์•„ํ†ก ํ˜ผ์ž ์ฝ”๋”ฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ .reply:focus-within input{ width:95vw; } ์ด ๋ถ€๋ถ„์ด ๊ณ„์† ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๋‹ค. ์ฒ˜์Œ์—๋Š” ์œ„์— .reply input ์•ˆ์— transition:all .3s ease-in-out;์„ ์ ์ง€ ์•Š์•„์„œ ์•ˆ๋œ ์ค„ ์•Œ์•˜๋Š”๋ฐ ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ ์—ˆ๋Š”๋ฐ๋„ ๋˜์ง€ ์•Š์•˜๋‹ค. ๋ฐ‘์˜ ์˜์ƒ์ฒ˜๋Ÿผ width๊ฐ€ ๋Š˜์–ด๋‚˜์•ผ ํ•œ๋‹ค. ๊ฒ€์ƒ‰ํ•ด๋„ ๋”ฑํžˆ ํ•ด๊ฒฐ์ฑ…์ด ๋‚˜์˜ค์ง€ ์•Š์•„ ๋‚ด๊ฐ€ ์“ด ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉฐ ์ด๊ฒƒ์ €๊ฒƒ ์ง€์›Œ๊ฐ€๋ฉฐ ๋‹ค์‹œ ํ•ด๋ณด๋‹ˆ input์˜ ๋ถ€๋ชจ ํƒœ๊ทธ reply__column:last-child์— display:flex; align-items:center; ์ด๊ฒƒ ๋•Œ๋ฌธ์— ๋˜์ง€ ์•Š์•˜๋‹ค. ์ •ํ™•ํ•œ ์ด์œ ๋Š” ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค... 2022. 8. 26.
vh/ vw/ %์™€์˜ ์ฐจ์ด vh = viewport height vw = viewport width ์ฆ‰, ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ์Šคํฌ๋ฆฐ ํฌ๊ธฐ์— ๋งž์ถฐ ์ƒ๋Œ€์  ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค. 100vh, 100vw๊ฐ€ ์ „์ฒด ํ™”๋ฉด์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, ํ˜„์žฌ ์Šคํฌ๋ฆฐ ํฌ๊ธฐ๊ฐ€ height = 1000px, width = 800px ์ด๋ผ๋ฉด 1vh = 10px / 1vw = 8px์ด ๋  ๊ฒƒ์ด๊ณ  height:50vh; width:25vw; ๋กœ ์„ค์ •ํ•œ๋‹ค๋ฉด height - 500px width - 200px ์ด๋Ÿฐ์‹์œผ๋กœ ์ ์šฉ์ด ๋  ๊ฒƒ์ด๋‹ค. % ์™€ ์ฐจ์ด? ๊ทธ๋ ‡๋‹ค๋ฉด 100%์™€ 100vh ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ด ๋‹ค๋ฅผ๊นŒ 1. vh๋Š” width ์—์„œ๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. width:100%์™€ width:100vh๋Š” ์—„์—ฐํžˆ ๋‹ค๋ฅธ ๋œป์ด๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ vw ๋„ height์—์„œ๋„.. 2022. 8. 25.
focus-within CSS ์„ ํƒ์ž : focus-within : focus-within์€ ํฌ์ปค์Šค๋ฅผ ๋ฐ›์•˜๊ฑฐ๋‚˜, ํฌ์ปค์Šค๋ฅผ ๋ฐ›์€ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ์š”์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ focus๋œ element๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์‹œ๋กœ๋Š” ์˜ ํ•„๋“œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํฌ์ปค์Šค๋œ ๊ฒฝ์šฐ ์„ ๊ฐ•์กฐํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. HTML ์ด๋ฆ„: ์„ฑ: CSS form { border: 1px solid; color: gray; padding: 4px; } form:focus-within { background: #ff8; color: black; }//form ์•ˆ์— ์–ด๋–ค element๊ฐ€ focus ๋˜์–ด์žˆ๋‹ค๋ฉด input { margin: 4px; } 2022. 8. 25.
will-change will-change will-change CSS ์†์„ฑ์€ ์š”์†Œ์— ์˜ˆ์ƒ๋˜๋Š” ๋ณ€ํ™”์˜ ์ข…๋ฅ˜์— ๊ด€ํ•œ ํžŒํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ œ๊ณตํ•˜๊ฒŒ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์‹ค์ œ ์š”์†Œ๊ฐ€ ๋ณ€ํ™”๋˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ ์ ˆํ•˜๊ฒŒ ์ตœ์ ํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์ตœ์ ํ™”๋Š” ์ž ์žฌ์ ์œผ๋กœ ์„ฑ๋Šฅ ๋น„์šฉ์ด ํฐ ์ž‘์—…์„ ๊ทธ๊ฒƒ์ด ์‹ค์ œ๋กœ ์š”๊ตฌ๋˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ํŽ˜์ด์ง€์˜ ๋ฐ˜์‘์„ฑ์„ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์€ ์š”์†Œ์— will-change๋ฅผ ์ ์šฉํ•˜์ง€๋Š” ๋ง์ž. ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ ๊ฒƒ์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— will-change์™€ ๋ฌถ์ธ ๊ฐ•ํ•œ ์ตœ์ ํ™”๋Š” ํŽ˜์ด์ง€ ์†๋„๋ฅผ ๋Šฆ์ถ”๊ฑฐ๋‚˜ ์—„์ฒญ๋‚œ ์ž์›์„ ์†Œ๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ’ auto ์ด ํ‚ค์›Œ๋“œ๋Š” ํŠน์ • ์˜๋„ ์—†์Œ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋Š” ๋ณดํ†ต ์‹คํ–‰ํ•˜๋Š” ์–ด๋–ค ๋ฐฉ๋ฒ•์ด๋˜ ์ตœ์ ํ™”์ด๋˜ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค. scr.. 2022. 8. 13.
transition / transform transform(๋ณ€ํ˜•) - ์ด์ฐจ์› ์ขŒํ‘œ์—์„œ ์š”์†Œ๋ฅผ ๋ณ€ํ˜•์‹œํ‚ค๋Š” ํ”„๋กœํผํ‹ฐ์ด๋‹ค. - ๊ฐ’์—๋Š” translate(), scale(), rotate(), skew() 4์ข…๋ฅ˜์˜ transform ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋™, ํ™•๋Œ€์ถ•์†Œ, ํšŒ์ „, ๊ฒฝ์‚ฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ex) transform : rotate(45deg); ์ด๋™(translate) - translate() ํ•จ์ˆ˜๋Š” ์š”์†Œ๋ฅผ X์ถ• ๋ฐฉํ–ฅ์ด๋‚˜ Y์ถ• ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. - X์ถ• ๋ฐฉํ–ฅ๊ฐ’์„ ํ”Œ๋Ÿฌ์Šค๋กœ ํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ์œผ๋กœ, ๋งˆ์ด๋„ˆ์Šค๋กœ ํ•˜๋ฉด ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. - Y์ถ• ๋ฐฉํ–ฅ๊ฐ’์„ ํ”Œ๋กœ์Šค๋กœ ํ•˜๋ฉด ์•„๋ž˜๋กœ, ๋งˆ์ด๋„ˆ์Šค๋กœ ํ•˜๋ฉด ์œ„๋กœ ์ด๋™ํ•œ๋‹ค. ex) transform : translate(50px, 30px); ํ™•๋Œ€/์ถ•์†Œ(scale) - scale() ํ•จ์ˆ˜๋Š” ์š”์†Œ๋ฅผ X์ถ• ๋ฐฉํ–ฅ์ด๋‚˜ Y์ถ•.. 2022. 8. 11.
z-index z-index ๋ณดํ†ต ๊ฐ€์žฅ ๋‚˜์ค‘์— ์ž‘์„ฑ๋œ ๋งˆํฌ์—… ์š”์†Œ๊ฐ€ ๊ฐ€์žฅ ์•ž์œผ๋กœ ํŠ€์–ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ๋งŒ์•ฝ ๋‹ค๋ฅธ ์Œ“์ž„ ์ˆœ์„œ๋ฅผ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋จผ์ € ์—˜๋ฆฌ๋จผํŠธ์— position ( static ๋ง๊ณ  ๋‹ค๋ฅธ ๊ฐ’ ) ์„ ์ฃผ๋ฉด ๋งˆํฌ์—…๊ณผ ์ƒ๊ด€์—†์ด ์•ž์œผ๋กœ ํŠ€์–ด๋‚˜์˜จ๋‹ค. ์•ž์จ position๊ณผ ๋น„์Šทํ•œ ๊ฒƒ์ด ์žˆ๋Š”๋ฐ transform์ด๋‹ค. translate ์— ์–ด๋–ค ๊ฐ’์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š”์ง€ ์ƒ๊ด€์—†์ด ex) transform : translate(0); ์ž‘์„ฑํ•ด์ฃผ์–ด๋„ ์•ž์œผ๋กœ ํŠ€์–ด๋‚˜์™€ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์™ธ์ ์œผ๋กœ opacity๋Š” ํˆฌ๋ช…๋„์ธ๋ฐ, ์ด๊ฒƒ์˜ ์†์„ฑ๊ฐ’์„ 0.9999๋ฅผ ์ฃผ๋ฉด ํŠ€์–ด๋‚˜์˜ค๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋…ธ๋ž€์ƒ‰ ํ…Œ๋‘๋ฆฌ๊ฐ€ ์žˆ๋Š” ๋‚™ํƒ€๋ฅผ '๋‚™ํƒ€1'์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ๋‹ค. parasol๋ณด๋‹ค ๋งˆํฌ์—… ์–ธ์–ด๋กœ ๋’ค์ชฝ์— ์ž‘์„ฑ๋˜์–ด ์žˆ๊ณ , ํ•ด๋‹น ๋‚™ํƒ€1์˜ .. 2022. 8. 10.
max-width/max-height max-width ์™€ max-height๋Š” ์–ด๋–ค ์š”์†Œ์˜ ์ตœ๋Œ€ ๋„ˆ๋น„์™€ ๋†’์ด๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ด๋‹ค. ๋ฐ˜์‘ํ˜• ์›น๋””์ž์ธ์—์„œ, ํ™”๋ฉด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์Šคํƒ€์ผ์„ ์ ์šฉํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. ๋‘ ์†์„ฑ ๋‹ค ์ฃผ์š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›ํ•˜์ง€๋งŒ ie6 ์ด์ „ ๋ฒ„์ „์€ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. (ie7์€ doctype์„ ์„ ์–ธํ•ด์ค˜์•ผ ํ•จ) max-width ์†์„ฑ ์–ด๋–ค ์š”์†Œ์˜ ์ตœ๋Œ€ ๋„ˆ๋น„๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์š”์†Œ์˜ ๋„ˆ๋น„๊ฐ’์ด, max-width ๋„ˆ๋น„๊ฐ’๋ณด๋‹ค ์ปค์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค. ์ฆ‰, max-width๋Š” width ์†์„ฑ๊ฐ’์„ ๋ฌดํšจํ™” ์‹œํ‚จ๋‹ค. ์ด๋ฏธ์ง€ ๊ฐ€๋กœ ๋„ˆ๋น„๊ฐ€ 500px์ผ ๋–„, max-width:400px ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด 400px ์ดํ•˜๋กœ๋งŒ ์ด๋ฏธ์ง€๊ฐ€ ๋ณด์ธ๋‹ค. ์†์„ฑ๊ฐ’ none : ๊ธฐ๋ณธ๊ฐ’ ๊ธธ์ด๊ฐ’ - px, cm, em ๋“ฑ % : ์š”์†Œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฐ•์Šค์— ๋น„๋ก€ํ•œ ๋ฐฑ๋ถ„์œจ i.. 2022. 8. 3.
728x90