Programing_Java
[Frontend] Media Query & Bootstrap ๋ณธ๋ฌธ
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" ์์ฑ
'๐ฅ๏ธ Frontend_' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Frontend] ํจ์์ ๊ฐ์ฒด, jQuery ๊ทธ๋ฆฌ๊ณ Ajax (1) | 2025.02.24 |
---|---|
[Frontend] Java Script & jQuery Library (1) | 2025.02.23 |
[Frontend] CSS์ ํ๊ทธ ์์ฑ (0) | 2025.02.21 |
[Frontend] HTML & CSS (1) | 2025.02.20 |
[Frontend] HTML, CSS, JavaScript (์์ ๋ด์ฉ) (1) | 2025.02.19 |