0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

REACT CSS API (styled-components)

Last updated at Posted at 2024-07-20

styled-components は、React と React Native でスタイルを記述するためのライブラリです。

このライブラリを使用すると、JavaScript と ES6 のテンプレート文字列構文を使用してコンポーネントのスタイルを定義できます。これにより、スタイルとコンポーネントのロジックを密接に結びつけることができます。以下は styled-components のいくつかの主要な特徴と利点です:

CSS-in-JS: JavaScript 内で CSS を記述でき、スタイルがコンポーネントの一部になります。
スタイルの分離: 各コンポーネントが独自のスタイルを持ち、スタイルの衝突を避けます。
動的なスタイル: コンポーネントのプロパティや状態に応じて動的にスタイルを生成できます。
自動プレフィックス: ブラウザの互換性を確保するために、自動的にプレフィックスを追加します。
再利用性: スタイルをコンポーネントとして再利用でき、コードのメンテナンス性が向上します。

使用例

以下は、styled-components を使用した簡単な例です:

// styled-components をインストール
// npm install styled-components

import styled from 'styled-components';

export const Header = styled.header`
  background: #f8f9fa;
  padding: 1rem;
  text-align: center;
`;

export const Button = styled.button`
  background: ${props => props.primary ? 'blue' : 'white'};
  color: ${props => props.primary ? 'white' : 'blue'};
  font-size: 1em;
  margin: 1em;
  padding: 0.25em 1em;
  border: 2px solid blue;
  border-radius: 3px;
`;

export const AppHeaderWrapper = styled.div`
//このした必要なCSSを入れることができる
    position: sticky;
    top: 0;
    z-index: 99;
    background-color: ${(props: any) => props.theme};
    transition: background-color .2s;
    
  .nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    span {
      margin-top: 10px;
      cursor: pointer;
    }
  }
  
   .nav-item {
    padding: 15px 20px;
    cursor: pointer;

    i {
      margin-right: 5px;
    }

    &:hover {
      opacity: .8;
      background-color: #333;
    }
  }
`;
// 他のコンポーネントのスタイルも同様に定義



import { Button,Header } from './style';

function App() {
  return (
    <div>
      <Button primary>Primary Button</Button>
      <Button>Secondary Button</Button>
    </div>
  );
}

export default App;

MUI の styled ツールと類似。次回MUIのCSS 構築紹介する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?