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

๐Ÿ‘‍๐Ÿ—จFRONT-END/๐ŸŽจCSS10

[styled-components] props ์‚ฌ์šฉ๋ฒ• ์ด์ •๋ฆฌ!! A. ์‚ฌ์šฉํ•  Button ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ // Button/index.jsx import * as S from "./button.style.js"; export const Button = ({ children, ...props }) => { return ( {children} ); }; // Button/button.style.js interface ButtonProps { width?: string; size?: string; color: string; } export const Button = styled.button` display: flex; width: ${(props) => (props.width ? props.width : "auto")}; align-items: center; justify-.. 2023. 7. 18.
๊ฐ€์ƒ์š”์†Œ ์„ ํƒ์ž ::before, ::after ๊ฐ€์ƒ ์š”์†Œ๋ž€ ์„ ํƒ์ž (Pseudo-elements) ์„ ํƒ์ž์— ์ถ”๊ฐ€ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋กœ, ์„ ํƒํ•œ ์š”์†Œ(element)์˜ ์ผ๋ถ€์—๋งŒ ์Šคํƒ€์ผ์„ ์ ์šฉํ•œ๋‹ค. ์ฆ‰, ์„ ํƒํ•œ ์š”์†Œ ์ „์ฒด์— ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์š”์†Œ์˜ ์ผ๋ถ€์—๋งŒ ์Šคํƒ€์ผ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, HTML์— ์ƒˆ๋กœ์šด ์š”์†Œ(element)๋ฅผ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ::before ์™€ ::after ์˜ ์‚ฌ์šฉ ์˜ˆ์‹œ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž ๊ฐ€์ƒ ์š”์†Œ ์‚ฌ์šฉ๋ฒ• ๊ฐ€์ƒ ์š”์†Œ๋Š”, ::before, ::after, ::first-letter ์™€ ๊ฐ™์ด ์•ž์— '::'๋ฅผ ๋ถ™์—ฌ์„œ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. import React from "react"; import './App.css'; function App() { return ( Hello Hello ); } export.. 2022. 12. 10.
CSS์—์„œ margin๊ณผ padding Margin๊ณผ Padding ์ฐจ์ด [๋‚ ๋งˆ๋‹ค 3๋ถ„ CSS] ๊ธ€์ž์™€ ์ƒ์ž ์ธ๋ผ์ธ & ๋ธ”๋ก HTML ์š”์†Œ๊ฐ€ ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜๋Š” ํŠน์„ฑ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„๋œ๋‹ค ์ธ๋ผ์ธ(Inline) ์š”์†Œ : ๊ธ€์ž๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์š”์†Œ๋“ค. ๋ธ”๋ก(Block) ์š”์†Œ : ์ƒ์ž(๋ ˆ์ด์•„์›ƒ)๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์š”์†Œ๋“ค. ์ธ๋ผ์ธ ์š”์†Œ ( greenteafrog.tistory.com ์œ„์˜ ํฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๊ธ€์ž์™€ ์ƒ์ž๋ฅผ ์ดํ•ดํ•œ ๋’ค ๋ณด๋ฉด ์ดํ•ดํ•˜๋Š”๋ฐ ๋„์›€์ด๋  ๊ฒƒ์ด๋‹ค. ์„ค๋ช…ํ•˜๊ธฐ์ „ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋ฅผ ์—ด์–ด์„œ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋Š” HTML ๋ฐ•์Šค๋ชจ๋ธ์„ ๋ณด๋ฉด์„œ ์ดํ•ดํ•˜๋ฉด ๋” ์‰ฝ๋‹ค. ๐Ÿ‘‍๐Ÿ—จํ•œ์ค„์š”์•ฝ ๊ฐ HTML ์š”์†Œ๊ฐ„์˜ ๊ฐ„๊ฒฉ์„ margin , ๋ณด๋”(์š”์†Œ์˜ ํ…Œ๋‘๋ฆฌ์„ )์™€ ์š”์†Œ์™€์˜ ๊ฐ„๊ฒฉ์„ padding ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๋„ค๋ชจ๋ฐ•์Šค(๋ณด๋”)์•ˆ์— ๊ธ€์ž๊ฐ€ ์žˆ๋Š” ๋ฐ•์Šค ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ๊ฐ€๋กœ๋กœ ์ค„.. 2022. 10. 26.
[๋‚ ๋งˆ๋‹ค 3๋ถ„ CSS] CSS ์„ ํƒ์ž #๊ฐ€์ƒํด๋ž˜์Šค ์„ ํƒ์ž ์‹œ์ž‘ ๊ฐ€์ƒ(Pseudo) ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค, ๋˜๋Š” ํƒœ๊ทธ๋ช… ์„ ํƒ์ž ๋’ค์— ์ฝœ๋ก (:) ์„ ๋ถ™์—ฌ์„œ ํ‘œ์‹œํ•˜๋Š” ํŠน๋ณ„ํ•œ ์š”์†Œ์˜ ์ƒํƒœ, ๋˜๋Š” ์š”์†Œ์˜ ์ˆœ์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž์‹ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ด๋‹ค ๋˜ํ•œ, ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž๋Š” ์‹ค์ œ๋กœ Html์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค์ง€๋งŒ ๋งˆ์น˜ ํด๋ž˜์Šค๋ฅผ ๋†“์€๊ฒƒ ์ฒ˜๋Ÿผ ์ž‘๋™ํ•œ๋‹ค๊ณ  ํ•˜์—ฌ ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ƒ ํด๋ž˜์Šค ์„ ํƒ์ž์˜ ์ข…๋ฅ˜ :hover ๋งˆ์šฐ์Šค์˜ ํฌ์ธํŠธ๊ฐ€ ์˜ฌ๋ผ๊ฐ„ HTML์š”์†Œ์— ๋Œ€ํ•œ ์ƒํƒœ๋ฅผ ์ •์˜ํ•œ๋‹ค. p:hover, a:hover, .class:hover ๊ณผ๊ฐ™์ด ์„ ํƒ์ž ๋’ค์— :hover์„ ๋ถ™์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ์—์„œ aํƒœ๊ทธ ์š”์†Œ์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๊ธ€์ž ์ƒ‰๊น”์ด ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. ๐Ÿ’ซ์˜ˆ์‹œ a:hover { color: red; } :active act.. 2022. 10. 19.