首頁 > web前端 > js教程 > 主體

React 基礎知識~樣式元件/ _ js 中的 css_

Barbara Streisand
發布: 2024-10-09 22:47:28
原創
340 人瀏覽過
  • 如果我們想在 javascript 檔案中將樣式編寫為 css 樣式,我們可以使用樣式元件。

  • 我們需要使用類似 npm i styled-components 的指令來安裝樣式元件。

・src/Example.js

iimport { useState } from "react";
import styled from "styled-components";

const StyledButton = styled.button`
  margin: auto;
  border-radius: 9999px;
  border: none;
  display: block;
  width: 120px;
  height: 60px;
  font-weight: bold;
  cursor: pointer;
  background: ${({ isSelected }) => (isSelected ? "pink" : "")};

  @media (max-width: 600px) {
    border-radius: 0;
  }
`;

const OrangeButton = styled(StyledButton)`
  background: orange;

  :hover {
    color: red;
    opacity: 0.7;
  }

  span {
    font-size: 2em;
  }
`;

const Example = () => {
  const [isSelected, setIsSelected] = useState(false);

  const clickHandler = () => setIsSelected((prev) => !prev);

  return (
    <>
      <StyledButton isSelected={isSelected} onClick={clickHandler}>
        StyledButton
      </StyledButton>

      <OrangeButton isSelected={isSelected} onClick={clickHandler}>
        <span>OrangeButton</span>
      </OrangeButton>

      <div style={{ textAlign: "center" }}>{isSelected && "Clicked!"}</div>
    </>
  );
};

export default Example;

登入後複製
  1. 我們需要將樣式化元件設定為 styled.element。
    這是一個例子。
    const StyledButton = styled.button
    //樣式
    ;.

  2. 我們可以像這樣將 prop 傳遞給樣式元件。
    來自:
    至:背景:${({ isSelected }) => (isSelected ? "pink" : "")};

  3. 我們可以在樣式元件中設定媒體查詢,如下所示
    @media(最大寬度:600px){
    邊框半徑:0;
    }

  4. 我們可以像這樣在樣式元件中實作其他樣式。
    const OrangeButton = styled(StyledButton)

  5. 我們可以像這樣在樣式元件中設定偽元素。
    :懸停{
    顏色:紅色;
    不透明度:0.7;
    }

・cliekd 之前的普通按鈕(灰色按鈕)。
React Basics~styling component/ css_ in _ js

・cliekd 之後的普通按鈕(粉紅色按鈕)。
React Basics~styling component/ css_ in _ js

・cliekd 之前的橘色按鈕。
React Basics~styling component/ css_ in _ js

・cliekd 之後的橘色按鈕。
React Basics~styling component/ css_ in _ js

以上是React 基礎知識~樣式元件/ _ js 中的 css_的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板