[React] CSS Selector

๊ฒจ๋ ˆยท2024๋…„ 11์›” 20์ผ

[React] ๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋””

๋ชฉ๋ก ๋ณด๊ธฐ
46/95

๐Ÿ“ CSS Selector
CSS ํด๋ž˜์Šค๊ฐ€ ํŠน์ • ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์Šคํƒ€์ผ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


  • .App ์•ˆ์— ๋“ค์–ด ์žˆ๋Š” .logo์— ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ
.App .logo {
animation: App-logo-spin infinite 20s linear;
height: 40vmin;
}

  • ๊ธฐ์กด App.css์™€ App.js์˜ CSS ํด๋ž˜์Šค ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์ž‘์„ฑํ•œ๋‹ค๋ฉด?
/* App.css */
/* ์šฐ์„  CSS ํŒŒ์ผ์„ ์ด๋ ‡๊ฒŒ ์ˆ˜์ •ํ•˜๊ณ ... */
.App {
  text-align: center;
}
 
/*.App ์•ˆ์— ๋“ค์–ด ์žˆ๋Š” .logo*/
.App .logo {
  animation: App-logo-spin infinite 20s linear;
  height: 40vmin;
}
 
/* .App ์•ˆ์— ๋“ค์–ด ์žˆ๋Š” header 
   header ํด๋ž˜์Šค๊ฐ€ ์•„๋‹Œ header ํƒœ๊ทธ ์ž์ฒด์—
   ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— .์ด ์ƒ๋žต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. */
.App header {
  background-color: #282c34;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
}
 
/* .App ์•ˆ์— ๋“ค์–ด ์žˆ๋Š” a ํƒœ๊ทธ */
.App a {
  color: #61dafb;
}
 
@keyframes App-logo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

// ๊ทธ์— ๋งž์ถฐ ์ปดํฌ๋„ŒํŠธ์˜ JSX ๋ถ€๋ถ„๋„ ์ˆ˜์ •!
// App.jsx
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
 
class App extends Component {
  render() {
    return (
      <div className="App">
        <header>
          <img src={logo} className="logo" alt="logo" />
          <p>
            Edit <code>src/App.js</code> and save to reload.
          </p>
          <a
            href="https://reactjs.org"
            target="_blank"
            rel="noopener noreferrer"
          >
            Learn React
          </a>
        </header>
      </div>
    );
  }
}
 
export default App;

์ด๋Ÿฐ ์‹์œผ๋กœ ์ปดํฌ๋„ŒํŠธ์˜ ์ตœ์ƒ์œ„ html ์š”์†Œ์—๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ์ด๋ฆ„์œผ๋กœ ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ง“๊ณ (.App), ๊ทธ ๋‚ด๋ถ€์—์„œ๋Š” ์†Œ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜(.logo), header ๊ฐ™์€ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ํด๋ž˜์Šค ์ด๋ฆ„์ด ๋ถˆํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ์•„์˜ˆ ์ƒ๋žตํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

profile
ํ˜ธ๋–ก ์‹ ๋ฌธ์ง€์—์„œ ๊ฐœ๋ฐœ์ž๋กœ ํ™˜์ƒ

0๊ฐœ์˜ ๋Œ“๊ธ€