Banner

My Tech Blog (Coding/html&css)

CSS Diner๋Š” CSS ์„ ํƒ์ž๋ฅผ ํ•™์Šตํ•˜๊ณ  ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ๋ฏธ์žˆ๋Š” ์›น ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„์ด๋‹ค.์‚ฌ์šฉ์ž๊ฐ€ HTML ์ฝ”๋“œ์— ์ ์šฉํ•  ์˜ฌ๋ฐ”๋ฅธ CSS ์„ ํƒ์ž๋ฅผ ์ž‘์„ฑํ•˜๋ฉด, ๊ฒŒ์ž„์˜ ๊ฐ ๋ ˆ๋ฒจ์„ ํด๋ฆฌ์–ดํ•˜๋ฉฐ ์ ์  ๋” ๋ณต์žกํ•œ ์„ ํƒ์ž๋ฅผ ์ตํž ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒŒ์ž„์€ CSS๋ฅผ ๋ฐฐ์šฐ๊ฑฐ๋‚˜ ๋ณต์Šตํ•˜๊ณ  ์‹ถ์€ ์ดˆ๋ณด์ž์™€ ์ค‘๊ธ‰์ž๋ฅผ ์œ„ํ•œ ์ข‹์€ ๋„๊ตฌ์ด๊ณ ํŠนํžˆ ์„ ํƒ์ž ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค๊ป˜ ์ถ”์ฒœํ•œ๋‹ค.ํฌ๋กค๋ง ์—ฐ์Šตํ•˜์‹œ๋Š” ๋ถ„๋“ค๊ป˜๋„ ๋งŽ์€ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.  https://flukeout.github.io/ CSS DinerA fun game to help you learn and practice CSS selectors.flukeout.github.io ๊ฐ€์žฅ ์‰ฌ์šด ๋‚œ์ด๋„์ธ 1๋ฒˆ๋ถ€ํ„ฐ ๊ฐ€์žฅ ์–ด๋ ค์šด 32๋ฒˆ๊นŒ์ง€ ์žˆ๋‹ค.ใ…‹ใ…‹ ํ™”๋ฉด์—์„œ ๊ณ ๋ฅด๋ผ๊ณ  ํ•˜๋Š” ๋ฌผ๊ฑด์„ ๊ณ ๋ฅด๋Š” CSS..
์ด๋ฒˆ ํฌ์ŠคํŒ… ์„ค๋ช…์€ ์ œ๊ฐ€ ์ž‘์„ฑํ–ˆ์œผ๋‚˜ ์ด๋ฏธ์ง€๋Š” ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ž˜ ๊ทธ๋ ค์ง„ ๊ฒƒ๋“ค์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.์ด๋ฏธ์ง€๋งˆ๋‹ค ์ถœ์ฒ˜ ํ‘œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค :)  ์—ฌ๊ธฐ ๊ฐ€์‹œ๋ฉด flex ์š”์†Œ๋“ค์„ ์ง์ ‘ ํด๋ฆญํ•ด ๋ณด๋ฉด์„œ ํ™”๋ฉด ๋ ˆ์ด์•„์›ƒ์„ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. flex-shrink - CSS: Cascading Style Sheets | MDNThe flex-shrink CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, the flex items can shrink to fit according to their flex-shrink value. Each flex line's negati..
๋ธ”๋กœ๊ทธ ๊พธ๋ฏธ๊ธฐ ํ•˜๋ฉด์„œ ๊ฐ„๋‹จํ•œ ๋ฎค์ง ํ”Œ๋ ˆ์ด์–ด๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ์Œ์•…์ด ์žฌ์ƒ ์ค‘์ผ ๋•Œ๋งŒ ํ˜„์žฌ ํ”Œ๋ ˆ์ด์ค‘์ธ ์Œ์•… ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฝ”๋“œ ์–ด๋–ป๊ฒŒ ์งฐ๋Š”์ง€ ๊ฐ„๋‹จํžˆ ์˜ฌ๋ ค ๋ณธ๋‹ค. ํ”Œ๋ ˆ์ด ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ธฐ ์ „๊นŒ์ง€๋Š” `Title` ๊ณผ `Progress Bar` ์ด ์ˆจ๊ฒจ์ ธ ์žˆ๋‹ค๊ฐ€ ๊ณก์ด ์žฌ์ƒ๋˜๋ฉด ์ œ๋ชฉ๊ณผ ํ”„๋กœ๊ทธ๋ ˆ์Šค๋ฐ”๊ฐ€ ํ”Œ๋ ˆ์ด์–ด ์œ„๋กœ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ์ฝ”๋“œ์ด๋‹ค. โšก music-info ํด๋ž˜์Šค CSS ์ฝ”๋“œ์Œ์•… ์žฌ์ƒ ์ „(๊ธฐ๋ณธ์ƒํƒœ).music-body .music-container .music-info { opacity: 0; /* ํˆฌ๋ช…๋„ 100%๋กœ ํ™”๋ฉด์—์„œ์ˆจ๊ฒจ์ง */ transform: translateY(100%); /* (์ˆ˜์ง ๋ฐฉํ–ฅ) ์ž๊ธฐ ์ž์‹  ๋†’์ด๋งŒํผ ์•„๋ž˜๋กœ ์ด๋™ */ transition: transform 0.3s ease-in..
1. form ํƒœ๊ทธencrype์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ๊ฐ’ "name", "method", "actioin", "encrype" ํŒŒ์ผ์ด๋‚˜ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ๊ฐ€ ์žˆ๋Š” ํผ์€ ๋ฐ˜๋“œ์‹œ enctype="multipart/from-data" ์ด ํƒ€์ž…์œผ๋กœ ์ง€์ •์„ ํ•ด์•ผ ํŒŒ์ผ ์—…๋กœ๋“œ(์ „์†ก)์ด ๋œ๋‹ค. ๊ทธ๋ž˜์•ผ ์„œ๋ฒ„์— ํŒŒ์ผ์„ ์ €์žฅํ•ด์„œ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค.    ๋ณด์•ˆ๋•Œ๋ฌธ์— ์ž๋™์™„์„ฑ์ด๋‚˜ ์ž…๋ ฅ ๊ฐ’ ์ฒดํฌ๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด qutocomoplete="off" ํผ ์†์„ฑ๊ณผ "novalidate" ์†์„ฑ ์‚ฌ์šฉ + +  2. input ํƒœ๊ทธplaceholder="ํ…์ŠคํŠธ"์ž…๋ ฅ ํ•„๋“œ์— ์˜ˆ์ƒ๋˜๋Š” ์ถ”์ฒœ ๊ฐ’์„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ•˜๋Š” ์šฉ๋„ ํƒœ๊ทธ ํฌ์ปค์Šค ๋˜๋ฉด ์‚ฌ๋ผ์ง readonly์ฝ๊ธฐ ์ „์šฉ. ์ž…๋ ฅํ•„๋“œ๊ฐ€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ถˆ๊ฐ€ํ•œ ์ƒํƒœ๊ฐ€ ๋จ. ..
[HTML]div 6๊ฐœ ๋งŒ๋“ค์–ด์ฃผ๊ณ  container๋กœ ๊ฐ์ŒŒ๋‹ค.    1    2    3    4    5    6    [CSS]html, bodyhtml,body {    margin: 0;    padding: 0;    box-sizing: border-box;    height: 100dvh;    width: 100%;} ํŽ˜์ด์ง€์˜ ๊ธฐ๋ณธ ์—ฌ๋ฐฑ, ํŒจ๋”ฉ ์ œ๊ฑฐ, html๊ณผ body์˜ ํฌ๊ธฐ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์˜ 100% ๋„ˆ๋น„์™€ 100dvh ๋†’์ด๋กœ ์„ค์ •. box-sizing: border-box;์œผ๋กœ ์ฝ˜ํ…์ธ  ํฌ๊ธฐ์™€ ํŒจ๋”ฉ, ํ…Œ๋‘๋ฆฌ๋ฅผ ํ•ฉ์ณ์„œ ๊ณ„์‚ฐ  `box-sizing`์˜ ์†์„ฑ์€ ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•œ๋‹ค. `content-box` (๊ธฐ๋ณธ๊ฐ’)๋Š” width์™€ height๊ฐ€ ์š”์†Œ์˜ ์ฝ˜ํ…์ธ  ์˜์—ญ ํฌ๊ธฐ๋งŒ์„ ..
1. CSS ์„ ํƒ์ž ํ•œ ๋ˆˆ์— ๋ณด๊ธฐ ์„ ํƒ์ž์˜ˆ์‹œ์„ค๋ช…ํƒœ๊ทธ ์„ ํƒ์žh1ํƒœ๊ทธ๋กœ ์š”์†Œ๋ฅผ ์„ ํƒ์ „์ฒด ์„ ํƒ์ž* (์œ ๋‹ˆ๋ฒ„์…œ ์„ ํƒ์ž)๋ชจ๋“  ์š”์†Œ๋ฅผ ์„ ํƒdiv *ํŠน์ • ์š”์†Œ์˜ ์ž์‹ ์š”์†Œ ๋ชจ๋‘ ์„ ํƒํด๋ž˜์Šค ์„ ํƒ์ž.slideํด๋ž˜์Šค๋ช…์œผ๋กœ ์š”์†Œ๋ฅผ ์„ ํƒ์•„์ด๋”” ์„ ํƒ์ž#logo์•„์ด๋””๋ช…์œผ๋กœ ์š”์†Œ๋ฅผ ์„ ํƒํ›„์† ์„ ํƒ์ž.slide h2, .slide .btnํ›„์†(์ž์†) ์š”์†Œ๋ฅผ ์„ ํƒ์ž์‹ ์„ ํƒ์ž.slide > div์•ž ์„ ํƒ์ž์˜ ๋ฐ”๋กœ ๋ฐ‘ ์ž์‹ ์š”์†Œ ์„ ํƒ์ธ์ ‘ํ˜•์ œ ์„ ํƒ์ž.banner + div์•ž ์„ ํƒ์ž์˜ ํ˜•์ œ ์š”์†Œ ๋ฐ”๋กœ ๋‹ค์Œ ์š”์†Œ ์„ ํƒ.banner ~ div์•ž ์„ ํƒ์ž์˜ ํ˜•์ œ ์š”์†Œ ์ค‘ ๋‘ ๋ฒˆ์งธ ์š”์†Œ ๋ชจ๋‘ ์„ ํƒ๊ทธ๋ฃนํ™”h1, h2color: red์ฝค๋งˆ๋กœ ์„ ํƒ์ž๋ฅผ ๋‚˜์—ดํ•˜์—ฌ ์„ ํƒ์†์„ฑ ์„ ํƒ์ža[target], a[target="_blank"]์†์„ฑ๋ช… ๋˜๋Š” ์†์„ฑ๋ช…์˜ ๊ฐ’์œผ๋กœ ์š”์†Œ..
๋ฐ˜์‘ํ˜•์œผ๋กœ ์›น๋””์ž์ธ์„ ํ•˜๋‹ค๋ณด๋ฉด ๋„“์ด์™€ ๋†’์ด, ์‚ฌ์ด์ฆˆ ๋‹จ์œ„์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ๋ฐ˜์‘ํ˜•์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๋””์ž์ธ์„ ํ•  ๋•Œ๋Š” px๋ฅผ ์ผ์ง€๋งŒ, ์œ ์—ฐํ•œ ํŽ˜์ด์ง€๋ฅผ ๋””์ž์ธ ๊ณ ๋ คํ•˜๋Š” ๊ฒฝ์šฐ em, rem๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•ด ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.  px๋Š” ๊ฐ’์ด ๊ณ ์ •๋˜์–ด์žˆ๋Š” ์ ˆ๋Œ€๋‹จ์œ„em๊ณผ rem์€ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ์ƒ๋Œ€๋‹จ์œ„ ์ƒ๋Œ€ ๋‹จ์œ„๋ž€ ๊ณ ์ •๋˜์ง€ ์•Š๊ณ  ์–ด๋–ค ๊ธฐ์ค€์— ๋”ฐ๋ผ ์œ ๋™์ ์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์˜ˆ) em, rem, %, vw, vh ๋“ฑ ์ ˆ๋Œ€ ๋‹จ์œ„๋ž€ ์–ด๋–ค ์ƒํ™ฉ์—์„œ๋“  ํ•ญ์ƒ ๊ณ ์ •๋œ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„. ์›น์—์„œ ์ ˆ๋Œ€ ๋‹จ์œ„๋Š” px์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์ž˜ ์“ฐ์ด์ง€ ์•Š์Œ.์›น์€ ๋””๋ฐ”์ด์Šค๋‚˜ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์ปจํ…์ธ  ํฌ๊ธฐ๊ฐ€ ์œ ๋™์ ์œผ๋กœ ๋ณ€ํ•จ. ๋”ฐ๋ผ์„œ ์ ˆ๋Œ€ ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ˜ํ…์ธ ์˜ ์œ ์—ฐ์„ฑ์ด ์ €ํ•˜๋จ. 1. CSS ํฌ๊ธฐ์˜ ๋‹จ์œ„ ์ข…๋ฅ˜๊ตฌ๋ถ„์„ค๋ช…์˜ˆ์‹œpxํฌ..
โšก๋ฆฌ์ŠคํŠธ ํƒœ๊ทธ ์‚ฌ์šฉํ•ด์„œ ์„œ๋ธŒ๋ฉ”๋‰ด ๋งŒ๋“ค๊ธฐ ์—ฐ์Šตโšก ๋ฉ”๋‰ด์— ๋งˆ์šฐ์Šค ์˜ฌ๋ ธ์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋Š”์ง€ ์•Œ์•„ ๋ณด์ž. - ์ƒ‰๊น” ์ž…ํ˜€์ฃผ๋Š” css ์ฝ”๋“œ๋Š” ๋ณ„๋„๋กœ ํ•˜๋‹จ์— ์˜ฌ๋ ค ๋‘์—ˆ์œผ๋‹ˆ ํƒœ๊ทธ ์•ˆ์—  CSS ์ฝ”๋“œ ํ•ด์„ค์œ„ CSS ์ฝ”๋“œ์˜ ์˜๋ฏธ๋ฅผ ์‚ดํŽด๋ณด์ž. ์œ„ ์ฝ”๋“œ์—์„œ ๊ฐ€์žฅ ํ•ต์‹ฌ  2๊ฐ€์ง€๋Š” - submenu๊ฐ€ ์•ˆ๋ณด์ด๋‹ค๊ฐ€ ๋ฉ”๋‰ด๋ฐ”์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ธ์„๋•Œ submenu๊ฐ€ ๋‚˜์˜ค๊ฒŒ ํ•˜๋Š” ๋“œ๋กญ๋‹ค์šด ๊ตฌํ˜„ - ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ธ์„ ๋•Œ ์„œ๋ธŒ๋ฉ”๋‰ด๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋‚˜ํƒ€๋‚˜๋„๋ก ํ•จ 3-1. ๋“œ๋กญ๋‹ค์šด ๊ตฌํ˜„ #submenu์˜ ์ดˆ๊ธฐ ์ƒํƒœ: left: 0: ์„œ๋ธŒ๋ฉ”๋‰ด์˜ ์™ผ์ชฝ ์œ„์น˜๋ฅผ ๋ถ€๋ชจ ์š”์†Œ์˜ ์™ผ์ชฝ์— ๋งž์ถคopacity: 0: ์„œ๋ธŒ๋ฉ”๋‰ด๋ฅผ ๋ณด์ด์ง€ ์•Š๊ฒŒ ์„ค์ •position: absolute: ์„œ๋ธŒ๋ฉ”๋‰ด๋ฅผ ๋ถ€๋ชจ ์š”์†Œ ๊ธฐ์ค€์œผ๋กœ ์ ˆ๋Œ€ ์œ„์น˜to..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'Coding/html&css' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ