ホームページ ウェブフロントエンド CSSチュートリアル ReactでCSSを使う7つの方法を紹介(コード付き)

ReactでCSSを使う7つの方法を紹介(コード付き)

Mar 30, 2019 am 11:44 AM
css3 react.js scss

この記事では、React で CSS を使用する 7 つの方法 (コード付き) を紹介します。一定の参考価値があります。必要な友人は参考にしてください。お役に立てれば幸いです。

最初の方法: コンポーネント内でスタイルを直接使用する

コンポーネントが外部から CSS ファイルをインポートする必要はなく、コンポーネント内に直接記述するだけです。

import React, { Component } from "react";

const div1 = {
  width: "300px",
  margin: "30px auto",
  backgroundColor: "#44014C",  //驼峰法
  minHeight: "200px",
  boxSizing: "border-box"
};

class Test extends Component {
  constructor(props, context) {
    super(props);
  }
 
  render() {
    return (
     <div>
       <div>123</div>
       <div>
     </div>
    );
  }
}

export default Test;<p> 注: <br>1. 通常の CSS では、background-color、box-sizing、その他の属性など、スタイル オブジェクト p1 の属性は、キャメル ケース、backgroundColor、boxSizing に変換する必要があります。マージン、幅などのハイフンのないプロパティは、スタイル オブジェクト内で変更されません。 <br>2. 通常の CSS では、</p>
<pre class="brush:php;toolbar:false">.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;
}
ログイン後にコピー

3 のように、css の値を二重引用符 ("") で囲む必要はありません。文字列を直接使用してスタイルを記述することはできず、エラーが発生します。

<div>
<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/171/466/819/1553917250154517.png" class="lazy" title="1553917250154517.png" alt="ReactでCSSを使う7つの方法を紹介(コード付き)"></p>
<p>反応でスタイルオブジェクトを使用する場合に報告されます。値は二重引用符で囲む必要があります。 </p>
<p>反応スタイルのこのメソッドは、現在のコンポーネントにのみ適用されます。 </p>
<p style="white-space: normal;">2 番目: [名前].css ファイルをコンポーネントに導入します</p>
<p>css ファイルを導入するには、現在のコンポーネントの先頭で import を使用する必要があります。 </p>
<pre class="brush:php;toolbar:false">import React, { Component } from "react";
import TestChidren from "./TestChidren";
import "@/assets/css/index.css";

class Test extends Component {
  constructor(props, context) {
    super(props);
  }
 
  render() {
    return (
      <div>
        <div>123</div>
        <testchidren>测试子组件的样式</testchidren>
      </div>

    );
  }
}

export default Test;
ログイン後にコピー

この方法で導入された CSS スタイルは、現在のコンポーネントとそのすべての子孫コンポーネントに適用されます。

3 番目の方法: 3. [name].scss ファイルをコンポーネントに導入します。

React は接尾辞 scss を持つファイルをすでにサポートしているため、node をインストールするだけで済みます。 -sass で十分です。node-sass を使用すると、scss ファイルをノード環境で css ファイルにコンパイルできるからです。

>yarn add node-sass
ログイン後にコピー

次にscssファイルを記述します

//index.scss
.App{
  background-color: #282c34;
  .header{
    min-height: 100vh;
    color: white;
  }
}
ログイン後にコピー

sassの使い方の詳細についてはsass公式サイトをご確認ください

この方法で導入したcssスタイルは # にも影響します## 現在のコンポーネントとそのすべての子孫コンポーネント

4 番目の方法: [名前].module.css ファイルをコンポーネントに導入します

css ファイルをモジュールとして導入します。このモジュール内のすべての CSS のみが動作します。現在のコンポーネント。現在のコンポーネントの子孫コンポーネントには影響しません。

import React, { Component } from "react";
import TestChild from "./TestChild";
import moduleCss from "./test.module.css";

class Test extends Component {
  constructor(props, context) {
    super(props);
  }  
 
  render() {
    return (
     <div>
       <div>321321</div>
       <testchild></testchild>
     </div>
    );
  }
}

export default Test;
ログイン後にコピー
このメソッドは、コンポーネントでスタイルを使用する最初のメソッドのアップグレード バージョンとみなすことができます。他のコンポーネントに影響を与えずに CSS とコンポーネントを完全に分離します。

5 番目の方法: [name].module.scss ファイルをコンポーネントに導入します

4 番目の方法と同様ですが、4 番目の方法では、 css モジュール、これは scss モジュールを紹介するだけです。

import React, { Component } from "react";
import TestChild from "./TestChild";
import moduleCss from "./test.module.scss";

class Test extends Component {
  constructor(props, context) {
    super(props);
  }  
 
  render() {
    return (
     <div>
       <div>321321</div>
       <testchild></testchild>
     </div>
    );
  }
}

export default Test;
ログイン後にコピー
同じ方法は、コンポーネントでスタイルを使用する最初の方法のアップグレード バージョンとみなすことができます。

6 番目: スタイル付きコンポーネントの使用

最初に

>yarn add styled-components
ログイン後にコピー
をインストールしてから、js ファイルを作成する必要があります (js ファイルであることに注意してください) 、CSS ファイルではありません)

//style.js
import styled, { createGlobalStyle } from "styled-components";

export const SelfLink = styled.p`
  height: 50px;
  border: 1px solid red;
  color: yellow;
`;

export const SelfButton = styled.p`
  height: 150px;
  width: 150px;
  color: ${props => props.color};
  background-image: url(${props => props.src});
  background-size: 150px 150px;
`;
ログイン後にコピー
コンポーネントで styled-components スタイルを使用する

import React, { Component } from "react";

import { SelfLink, SelfButton } from "./style";

class Test extends Component {
  constructor(props, context) {
    super(props);
  }  
 
  render() {
    return (
     <div>
       <selflink>app.js</selflink>
       <selfbutton>
          SelfButton
        </selfbutton>
     </div>
    );
  }
}

export default Test;
ログイン後にコピー
この方法は、CSS スタイル全体と HTML ノードを 1 つのコンポーネントにマージします。このコンポーネントの導入には html と css の両方があります。

利点は、コンポーネントに属性をアップロードすることで、いつでもスタイルを動的に変更できることです。変数、メディアクエリ、疑似クラスなどを処理する場合に便利です。

CSS のこのメソッドは、現在のコンポーネントに対してのみ有効です。

具体的な使用方法については、styled-components の公式 Web サイトを確認してください。

7 番目の方法: radius を使用します

最初にインストールする必要があります

>yarn add radium
ログイン後にコピー
and then 反応コンポーネントに

import React, { Component } from "react";
import Radium from 'radium';

let styles = {
  base: {
    color: '#fff',
    ':hover': {
      background: '#0074d9'
    }
  },
  primary: {
    background: '#0074D9'
  },
  warning: {
    background: '#FF4136'
  }
};

class Test extends Component {
  constructor(props, context) {
    super(props);
  }  
 
  render() {
    return (
     <div>
      <button>
        this is a primary button
      </button>
     </div>
    );
  }
}

export default Radium(Test);
ログイン後にコピー
を直接導入して使用するのは、変数、メディア クエリ、疑似クラスなどの処理に不便です。

Radium を使用すると、変数、メディア クエリ、疑似クラスなどを直接扱うことができ、js で数学、接続、正規表現、条件、関数などを直接使用することができます。

具体的な使用方法についてはradius公式サイトをご確認ください

注意:

エクスポートする前にRadiumでラップする必要があります。

この記事はここで終了しています。その他の興味深いコンテンツについては、PHP 中国語 Web サイトの

CSS ビデオ チュートリアル 列に注目してください。

以上がReactでCSSを使う7つの方法を紹介(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

Reactの親コンポーネントで子コンポーネントのメソッドを呼び出す方法 Reactの親コンポーネントで子コンポーネントのメソッドを呼び出す方法 Dec 27, 2022 pm 07:01 PM

呼び出しメソッド: 1. クラス コンポーネントの呼び出しは、React.createRef()、ref または props のカスタム onRef 属性の関数宣言を使用して実装できます; 2. 関数コンポーネントおよびフック コンポーネントの呼び出しは、useImperativeHandle または forwardRef を使用して実装できます。子コンポーネントの ref が実装されています。

CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

スペースを取らずにCSS内の要素を非表示にする方法 スペースを取らずにCSS内の要素を非表示にする方法 Jun 01, 2022 pm 07:15 PM

2 つの方法: 1. display 属性を使用して、要素に「display:none;」スタイルを追加するだけです。 2. Position 属性と top 属性を使用して、要素の絶対位置を設定し、要素を非表示にします。要素に「position:absolute;top:-9999px;」スタイルを追加するだけです。

CSS3でレースボーダーを実装する方法 CSS3でレースボーダーを実装する方法 Sep 16, 2022 pm 07:11 PM

CSS では、border-image 属性を使用してレースの境界線を実現できます。 border-image 属性では、画像を使用して境界線を作成できます。つまり、境界線に背景画像を追加できます。背景画像をレース スタイルとして指定するだけで済みます。構文「border-image: url (画像パス) は、内側への画像境界線の幅。開始を繰り返すかどうか;"。

テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 Jun 10, 2022 pm 01:00 PM

テキストカルーセルと画像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや画像カルーセルも純粋なCSSでも実現できますので実装方法を見ていきましょう。

CSS3でマウスクリックで画像を拡大する方法 CSS3でマウスクリックで画像を拡大する方法 Apr 25, 2022 pm 04:52 PM

実装方法: 1. ":active" セレクターを使用して、画像上のマウス クリックの状態を選択します; 2. 変換属性とscale() 関数を使用して、画像の拡大効果を実現します。構文 "img:active {transform : スケール(x 軸倍率、y 軸倍率);}"。

css3のアニメーション効果に変形はありますか? css3のアニメーション効果に変形はありますか? Apr 28, 2022 pm 02:20 PM

css3 のアニメーション効果には変形があり、「animation: アニメーション属性 @keyframes ..{..{transform: 変換属性}}」を使用して変形アニメーション効果を実現できます。アニメーション属性はアニメーション スタイルを設定するために使用され、変形スタイルを設定するには、transform 属性を使用します。

See all articles