Programing_Java

[Frontend] Media Query & Bootstrap ๋ณธ๋ฌธ

๐Ÿ–ฅ๏ธ Frontend_

[Frontend] Media Query & Bootstrap

Joyfullyever 2025. 2. 22. 22:51

Chapter #4 ํƒœ๊ทธ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” CSS์™€ Advanced CSS

 

Section3. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ Media Query

 

โœด๏ธŽ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๊ฐœ์š”

: ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ๋ฏธ๋””์–ด ๋ฐ ํ™”๋ฉด์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์Šคํƒ€์ผ์‹œํŠธ๊ฐ€ ์ ์šฉ๋˜๋„๋ก ์ง€์›

โœด๏ธŽ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

: ์–ด๋””์— ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ž‘์„ฑ ์œ„์น˜์™€ ๊ตฌ๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•จ

: CSS๋กœ ๊ตฌํ˜„๋˜๊ณ , CSS ๊ตฌ๋ฌธ๋“ค ๊ฐ„์˜ ์ˆœ์„œ๋ฅผ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํšจ์œจ์ ์œผ๋กœ ๊ธฐ์ˆ  ๊ฐ€๋Šฅ

: ํƒœ๊ทธ๋“ค์— ๊ณตํ†ต์ ์œผ๋กœ ์ ์šฉํ•  ๋‚ด์šฉ์„ ๊ธฐ์ˆ , ํŠน์ • ํƒœ๊ทธ์—๋งŒ ์ ์šฉ๋˜๋Š” ์Šคํƒ€์ผ์„ ๊ธฐ์ˆ 

: ๋งˆ์ง€๋ง‰์œผ๋กœ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๊ธฐ์ˆ 

• ์ž‘์„ฑ ์œ„์น˜

: HTML ํŽ˜์ด์ง€์— <link> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ, CSS ํŒŒ์ผ์— ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๊ตฌ๋ฌธ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

→ HTML ํŽ˜์ด์ง€์— ๊ธฐ์ˆ ํ•˜๋Š” ๋ฐฉ๋ฒ• : ํ™”๋ฉด์˜ ํฌ๊ธฐ์— ๋‹ค๋ผ์„œ ๊ฐ๊ฐ ๋‹ค๋ฅธ CSS ํŒŒ์ผ์„ ์ ์šฉํ•  ๋•Œ ์‚ฌ์šฉ

→ CSS ํŒŒ์ผ์— ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๊ตฌ๋ฌธ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• : ์—ฌ๋Ÿฌ ํ™”๋ฉด ํฌ๊ธฐ์— ๋Œ€์‘ํ•˜๋Š” ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ๊ฐ๊ฐ ํ•„์š”ํ•ด์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋•Œ ์‚ฌ์šฉ

• ๊ตฌ๋ฌธ ์ž‘์„ฑ ๋ฐฉ๋ฒ•

: ๋ฐ˜์‘ํ˜• ์›น์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” screen์„ ์‚ฌ์šฉ → @media screen์œผ๋กœ ์‹œ์ž‘

: ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•ด์„œ ์‚ฌ์šฉ

@media screen and (์กฐ๊ฑด ์ถ”๊ฐ€)...

: ์ถ”๊ฐ€ํ•  ์กฐ๊ฑด์—๋Š” ํ™”๋ฉด์˜ ๋„ˆ๋น„, ๋†’์ด, ์ƒ‰, ๊ฒฉ์ž ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์— ์ ์šฉ

 

Section4. Advanced CSS์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ

 

โœด๏ธŽ Advanced CSS ๊ฐœ์š”

: ์Šคํƒ€์ผ ์‹œํŠธ์˜ ์ตœ์‹  ํ‘œ์ค€, ์ดˆ๊ธฐ์˜ ๋ฒ„์ „๋“ค๊ณผ๋„ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜

: ํ˜„์žฌ์˜ CSS → ๊ธฐ์กด์˜ CSS + Advanced CSS(์ถ”๊ฐ€๋œ ์‹ ๊ธฐ๋Šฅ)

 

โœด๏ธŽ ํ…Œ๋‘๋ฆฌ์™€ ๋ฐฐ๊ฒฝ

• ํ…Œ๋‘๋ฆฌ : ์˜์—ญ์„ ๊ฐ–๋Š” ํŠน์ • ํƒœ๊ทธ์— ๋‘ฅ๊ทผ ๋ชจ์„œ๋ฆฌ๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฆผ์ž ํšจ๊ณผ ๋“ฑ์„ ์ฃผ์–ด ์ž…์ฒด๊ฐ์„ ์ค„ ์ˆ˜ ์žˆ์Œ

• Border-radius ์†์„ฑ

: ์˜์—ญ์„ ๊ฐ–๋Š” ํƒœ๊ทธ์— ๋‘ฅ๊ทผ ๋ชจ์„œ๋ฆฌ๋ฅผ ์ง€์ •

• Border-shadow ์†์„ฑ

: ์˜์—ญ์„ ๊ฐ–๋Š” ํƒœ๊ทธ์— ๊ทธ๋ฆผ์ž ํšจ๊ณผ๋ฅผ ์ง€์ •

• Advanced CSS์˜ ์ƒ‰์ƒ

: ๊ธฐ์กด์˜ ์ƒ‰์ƒ ๋ฐ ํˆฌ๋ช…๋„๊ฐ€ ์ถ”๊ฐ€๋œ RGBA์™€ HSLA ์ƒ‰์ƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

• Border-image ์†์„ฑ

: ํ…Œ๋‘๋ฆฌ์— ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

• ๋ฐฐ๊ฒฝ

• ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ์ค‘์ฒฉ

: ์—ฌ๋Ÿฌ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์ค‘์ฒฉํ•ด์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œ

: ์—ฌ๋Ÿฌ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์ค‘์ฒฉํ•  ๋Œ€๋Š” ๊ฐ ์†์„ฑ์— ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€์˜ ๊ฐ’์„ ๋‚˜์—ด

: ์ด๋ฏธ์ง€์˜ ์œ„์น˜๋‚˜ ๋ฐ˜๋ณต ์—ฌ๋ถ€๋„ ์ถ”๊ฐ€ํ•œ ์ด๋ฏธ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์†์„ฑ ๊ฐ’์„ ์ฃผ์–ด์„œ ๋‚˜์—ด

• Background-size ์†์„ฑ

: ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆ

 

โœด๏ธŽ ํ…์ŠคํŠธ ํšจ๊ณผ : Text-shadow

: ๊ธ€์ž์— ๊ทธ๋ฆผ์ž ๋“ฑ์˜ ํšจ๊ณผ๋ฅผ ์ฃผ์–ด ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๊ธฐ๋Šฅ์„ ๋Œ€์ฒด

: ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋”ฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฅธ ์†๋„๋กœ ์›น ํŽ˜์ด์ง€๋ฅผ ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ์Œ

: Box-shadow์™€ ๋น„์Šทํ•œ ํšจ๊ณผ

 

โœด๏ธŽ ๊ทธ๋ž˜๋””์–ธํŠธ : Linear-gradient, Radial-gradient

: ๋‘˜ ์ด์ƒ ์ƒ‰์ƒ๊ฐ„์˜ ๋ณ€ํ™˜์„ ์ง€์›, ์ด๋ฏธ์ง€ ์‚ฌ์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ์–ด์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋น ๋ฅด๊ฒŒ ์„œ๋น„์Šค ๊ฐ€๋Šฅ

: ์„ ํ˜•๊ณผ ์›ํ˜•, ๋‘๊ฐœ์˜ ํƒ€์ž…์œผ๋กœ ์ œ๊ณต

 

โœด๏ธŽ ํŠธ๋žœ์Šค ํผ : Transform

: ๊ฐœ์ฒด๋‚˜ ์ด๋ฏธ์ง€์˜ ์ด๋™, ํšŒ์ „, ํ™•๋Œ€/์ถ•์†Œ, ์™œ๊ณก ๋“ฑ์˜ ํšจ๊ณผ๋ฅผ ์ œ๊ณต

• Translate() : ์ด๋™

: ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•œ ํ”ฝ์…€๋งŒํผ ๊ฐ€๋กœ๋งŒ, ์„ธ๋กœ๋งŒ ๋˜๋Š” ๊ฐ€๋กœ์„ธ๋กœ ๋ชจ๋‘ ์ด๋™

• Rotate() : ํšŒ์ „

: ์ง€์ •ํ•œ ๊ฐ๋„๋งŒํผ ํšŒ์ „

• Scale() : ํ™•๋Œ€/์ถ•์†Œ

: ์ฃผ์–ด์ง„ ๊ฐ’์— ๋”ฐ๋ผ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•œ ํฌ๊ธฐ๋งŒํผ ํ™•๋Œ€ํ•˜๊ณ  ์ถ•์†Œ

• Skew() : ์™œ๊ณก

: ์ง€์ •ํ•œ ๊ฐ๋„ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ๊ฐœ์ฒด๋ฅผ ์™œ๊ณก

 

โœด๏ธŽ ํŠธ๋žœ์ง€์…˜ : Transition

: ์–ด๋–ค ํ˜•ํƒœ์—์„œ ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ์˜ ๋ณ€ํ™˜์„ ์ฃผ๋Š” ๊ธฐ๋Šฅ

: ๊ทธ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜๋  ๋•Œ์˜ ์ง€์† ์‹œ๊ฐ„์„ ๊ธฐ์ˆ ํ•ด์•ผํ•จ

 

โœด๏ธŽ ์• ๋‹ˆ๋ฉ”์ด์…˜ : @keyframes, Animation

: ๊ฐœ์ฒด๋‚˜ ์ด๋ฏธ์ง€ ๋“ฑ์— ์›€์ง์ž„ ํšจ๊ณผ๋ฅผ ์ฃผ๋Š” ๊ฒƒ, ๊ธฐ์กด์˜ JavaScript๋‚˜ Flash ๋“ฑ์—์„œ ํ•˜๋˜ ์ž‘์—…์„ ๋Œ€์ฒด

 

โœด๏ธŽ ํ•„ํ„ฐ : Filter

: ์ด๋ฏธ์ง€ ๋“ฑ์— ์‚ฌ์ง„์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ธ”๋Ÿฌ, ๋ฐ๊ธฐ ์กฐ์ ˆ, ์„ธํ”ผ์•„์™€ ๊ฐ™์€ ํ•„ํ„ฐ ๊ธฐ๋Šฅ์„ ์ค„ ๋•Œ ์‚ฌ์šฉ

• Blur(px)

: ํผ์ ธ๋ณด์ž„

• Brightness(%)

: ๋ฐ๊ธฐ(๋ช…๋„)๋ฅผ ์ง€์ •

• Contrast(%)

: ๋Œ€๋น„๋ฅผ ์ง€์ •

• Drop-shadow(h-shadow v-shadow blur color)

: ๊ทธ๋ฆผ์ž๋ฅผ ์ง€์ •

: Box-shadow์™€ ์œ ์‚ฌ

• Grayscale(%)

: ํšŒ์ƒ‰์กฐ๋ฅผ ์ง€์ •

• Hue-rotate(deg)

: ์ƒ‰๋„๋ฅผ ์ง€์ •

• Invert(%)

: ์ „๋„๋ฅผ ์ง€์ •

• Opacity(%)

: ํˆฌ๋ช…๋„๋ฅผ ์ง€์ •

• Saturate(%)

: ์ฑ„๋„๋ฅผ ์ง€์ •

• Sepia(%)

: ์ ๊ฐˆ์ƒ‰์„ ์ง€์ •

 

โœด๏ธŽ ์ด๋ฏธ์ง€ ์Šคํƒ€์ผ

๋ผ์šด๋“œ ์ด๋ฏธ์ง€(Round Image)

: Border-radius ์†์„ฑ์˜ ๊ฐ’์€ %๋กœ๋„ ์ง€์ • ๊ฐ€๋Šฅ

์ธ๋„ค์ผ ์ด๋ฏธ์ง€(Thumbnail image)

: ๋ชจ๋ฐ”์ผ ์›น ์‚ฌ์ดํŠธ์—์„œ๋Š” ํ™”๋ฉด์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์„œ ์›๋ณธ ์ด๋ฏธ์ง€๊ฐ€ ์ œ๋Œ€๋กœ ํ‘œํ˜„๋˜์ง€ ๋ชปํ•˜๋Š” ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด, ์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ์›๋ณธ ์ด๋ฏธ์ง€๊ฐ€ ๋ณ„๋„์˜ ์ฐฝ์— ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ

๋ฐ˜์‘ํ˜• ์ด๋ฏธ์ง€(Responsive Images)

: ํ™”๋ฉด์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ตœ์ ์˜ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์ œ๊ณต

์ด๋ฏธ์ง€์— ํ…์ŠคํŠธ ์ถ”๊ฐ€

: Position ์†์„ฑ๊ณผ Top, Bottom, Left, Right ์†์„ฑ์„ ๊ฒฐํ•ฉํ•ด์„œ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๊ณ  ์ถ”๊ฐ€

ํด๋ผ๋กœ์ด๋“œ ์ด๋ฏธ์ง€

: Box-shadow ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ํด๋ผ๋กœ์ด๋“œ ์‚ฌ์ง„๊ณผ ๊ฐ™์€ ๋А๋‚Œ์„ ์ฃผ๋Š” ์ด๋ฏธ์ง€ ์ƒ์„ฑ ๊ฐ€๋Šฅ

 

โœด๏ธŽ ์›น ํฐํŠธ

: Advanced CSS์—์„œ ์ถ”๊ฐ€๋œ ๊ฒƒ

: ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ์ƒ์— ํฐํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•˜์ง€ ์•Š์•„๋„ ํ•ด๋‹น ํฐํŠธ๋ฅผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

: @font-face๋กœ ์‚ฌ์šฉํ•  ํฐํŠธ๋ช…๊ณผ ํฐํŠธํŒŒ์ผ๋ช…์„ ์ •์˜

@font-face { // ์›น ํฐํŠธ ์ •์˜
font-family: notoFont; // ํฐํŠธ๋ช… ์ •์˜
srcL url(../font/NotoSansCJKkr-Black.otf); // ์‚ฌ์šฉํ•  ํฐํŠธ ํŒŒ์ผ๋ช…
}

p { // ์ •์˜๋œ ์›น ํฐํŠธ ์‚ฌ์šฉ
font-family:notoFont; // ์‚ฌ์šฉํ•  ํฐํŠธ๋ช…
}

 

โœด๏ธŽ ์›น ํฐํŠธ

: ์‹ ๋ฌธ๊ณผ ๊ฐ™์€ ํ…์ŠคํŠธ์˜ ๋‹ค๋‹จ์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

Section5. ๋ถ€ํŠธ์ŠคํŠธ๋žฉ Bootstrap

 

โœด๏ธŽ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ?

• HTML, CSS, JavaScript ๋ฐ˜์‘ํ˜• ์›น ์‚ฌ์ดํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ฌด๋ฃŒ ํ”„๋ ˆ์ž„์›Œํฌ

โœด๏ธŽ ์‚ฌ์šฉ๋ฒ•๊ณผ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ

• ์‚ฌ์šฉ๋ฒ•1.

: getbootstrap.com ์—์„œ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ๋‹ค์šด๋ฐ›์•„ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

• ์‚ฌ์šฉ๋ฒ•2.

: ๋ถ€ํŠธ์ŠคํŠธ๋žฉ CDN์„ HTML ํŽ˜์ด์ง€์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

โœด๏ธŽ ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ

12๊ฐœ์˜ ์นผ๋Ÿผ์„ ํ•„์š”์— ๋”ฐ๋ผ ํ•ฉ์ณ์„œ ๋ชจ์–‘์„ ๊ตฌํ˜„

โœด๏ธŽ ์ƒ‰์ƒ, ์ด๋ฏธ์ง€, ๋ฒ„ํŠผ

• ์ƒ‰์ƒ

: ์ƒ‰์„ ํ†ตํ•ด ์˜๋ฏธ๋ฅผ ์•„๋Š” ๋ฐฉ์‹์œผ๋กœ ์ œ๊ณต

: muted - ์–ด๋–ค ๊ธฐ๋Šฅ์ด ๊บผ์ ธ ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธ

: danger - ์œ„ํ—˜์„ ์˜๋ฏธ

: class์˜ ์†์„ฑ ๊ฐ’์œผ๋กœ "text-์ƒ‰์ƒ์˜๋ฏธ"

• ์ด๋ฏธ์ง€

: ๋ผ์šด๋“œ ์ด๋ฏธ์ง€, ์ธ๋„ค์ผ ์ด๋ฏธ์ง€, ์ด๋ฏธ์ง€ ๋ฐฐ์น˜ ๋ฐฉํ–ฅ, ๋ฐ˜์‘ํ˜• ์ด๋ฏธ์ง€๋ฅผ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” class ์†์„ฑ ๊ฐ’์„ ์ œ๊ณต

• ๋ฒ„ํŠผ

: btn, btn๊ณผ btn-์ƒ‰์ƒ ์˜๋ฏธ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•ด์„œ ๋ฒ„ํŠผ์„ ํ‘œํ˜„

โœด๏ธŽ ์ฃผ์š” ๊ธฐ๋Šฅ

• ์บ๋Ÿฌ์…€

: ํŠน์ • ํƒœ๊ทธ๊ฐ€ ์ž๋™์œผ๋กœ ์Šฌ๋ผ์ด๋”ฉ๋˜๋ฉด์„œ ๋‹ค์Œ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ ํšŒ์ „ํ•˜๋ฉด์„œ ๋ฐ˜๋ณตํ•˜๋Š” ๊ธฐ๋Šฅ

Ex) ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์‚ฌ์ดํŠธ์˜ ์ฃผ์š”๋‚ด์šฉ์„ ์Šฌ๋ผ์ด๋”ฉํ•˜๋ฉฐ ๋ณด์—ฌ์ค„ ๋•Œ ์‚ฌ์šฉ → ๋‰ด์Šค

์ด๋ฏธ์ง€ ๋ชจ๋‹ฌ(Modal)

: ์ด๋ฏธ์ง€๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ผ์ข…์˜ ๋Œ€ํ™”์ƒ์ž

: ๋ชจ๋‹ฌ(Modal) → ๋ชจ๋‹ฌ ๋Œ€ํ™”์ƒ์ž(Modal Dialog Box)๋ฅผ ์˜๋ฏธ, ํ‘œ์‹œ๋œ ์ƒํƒœ์—์„œ๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์—†์Œ

: ์ด๋ฏธ์ง€๊ฐ€ ํ™”๋ฉด ์ „๋ฉด์— ํ‘œ์‹œ๋œ ์ƒํƒœ์—์„œ๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์—†์Œ

• ํŒ์˜ค๋ฒ„

: ํŒ์˜ค๋ฒ„ ์ปจํฌ๋„ŒํŠธ๋Š” ์ž‘์€ ํˆดํŒ์„ ๋งˆ์šฐ์Šค ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋งˆ์šฐ์Šค๋ฅผ ํ˜ธ๋ฒ„ํ•ด์„œ ํŒ์—…์œผ๋กœ ์ œ๊ณต

: ๊ตฌํ˜„ → data-bs-toggle="popover" ์†์„ฑ