React uses emotion to write CSS code

React uses emotion to write CSS code

Introduction:

emotion is a JavaScript library. Using emotion, you can write CSS code in the same way as writing JS. After installing emotion in react, you can easily encapsulate and reuse CSS. After using emotion, the tags rendered by the browser will be added with a logo starting with css. As follows: The tags starting with css- in the screenshot are rendered using the emotion library.

The following will introduce the application of emotion in engineering from installation to use.

Installation of emotion:

yarn add @emotion/react
yarn add @emotion/styled

Add common CSS components:

1. Name the same as the component, starting with a capital letter
2. Styled is followed by the html tag

//Introduce emotion
import styled from "@emotion/styled";
// Create a CSS component using emotion const Container = styled.div`
display: flex;
flex-direction: column;
align-items: center;
min-height: 100vh;
`;
//Use css components in html code:
<Container>
//html code</Container>

To add styles to an existing component:

1. Capitalize the first character of the variable name
2. Pass the existing component as a parameter to styled
3. Style code can add parameters

// Card is an existing component of antd const ShadowCard = styled(Card)`
    width: 40rem;
    min-height: 56rem;
    padding: 3.2rem 4rem;
    border-radius: 0.3rem;
    box-sizing: border-box;
    box-shadow: rgba(0, 0, 0, 0.1) 0 0 10px;
    text-align: center;
`;
// Imported image, used directly as a parameter import logo from "assets/logo.svg";

// Backticks can refer to the magic string passed in parameter const Header = styled.header`
background: url(${logo}) no-repeat center;
padding: 5rem 0;
background-size: 8rem;
width: 100%;
`;

Extract common CSS components

1. Before the backquote, all possible parameters that may be used should be listed to receive generic parameters.
2. Get the parameters passed in, use props to get them, such as props.between, you can use the function return value to assign the CSS attribute, the CSS attribute is not rendered, and the return value is undefined

justify-content: ${(props) => (props.between ? "space-between" : undefined)};

3. You can use css selector
4. When calling, use it like a normal js component, and pass the same parameters

//Call Row component <HeaderLeft gap={1}> 
//html code</HeaderLeft>
const HeaderLeft = styled(Row)``;


// Define the Row component export const Row = styled.div<{
  gap?: number | boolean;
  between?: Boolean;
  marginBottom?: number;
}>`
display: flex;
align-items: center;
justify-content: ${(props) => (props.between ? "space-between" : undefined)};

margin-bottom: ${(props) =>

props.marginBottom ? props.marginBottom + "px" : undefined};

> * {
margin-top: 0 !important;
margin-bottom: 0 !important;
margin-right: ${(props) =>

typeof props.gap === "number"
    ? props.gap + "rem"
    : props.gap
    ? "2rem"
    : undefined};
}
`;

Write emotion inline styles

1. Write the following code at the top of the component to inform the current component to use the emotion inline style

/* @jsxImportSource @emotion/react */

2. Inline style format: css={ /* Inline style code*/ }

<Form css={{ marginBottom: "2rem" }} layout={"inline"}>
// html code</Form>

The above is the introduction and use of emotion. (#^.^#)

The above is the details of how React uses emotion to write CSS code. For more information about how React uses emotion to write CSS code, please pay attention to other related articles on 123WORDPRESS.COM!

You may also be interested in:
  • Detailed explanation of two ways to dynamically change CSS styles in react
  • Solution to CSS reference path error based on react project packaging
  • React uses CSS to implement react animation function example
  • 7 ways to use CSS in React (the most complete summary)
  • An example of how to use CSS Modules in Create React App
  • Example code for using css modules in create-react-app
  • Detailed explanation of adding css modules, sasss and antd using create-react-app
  • ReactJs method of setting css style
  • How to write CSS elegantly with react

<<:  Detailed explanation of how to stop the Docker container from automatically exiting

>>:  CentOS 6.4 MySQL 5.7.18 installation and configuration method graphic tutorial

Recommend

Summary of CSS front-end knowledge points (must read)

1. The concept of css: (Cascading Style Sheet) Ad...

Use pictures to realize personalized underline of hyperlinks

Don't be surprised if you see some kind of und...

Detailed explanation of BOM and DOM in JavaScript

Table of contents BOM (Browser Object Model) 1. W...

Detailed explanation of Nginx process scheduling problem

Nginx uses a fixed number of multi-process models...

How to use nginx to intercept specified URL requests through regular expressions

nginx server nginx is an excellent web server tha...

How to implement the singleton pattern in Javascript

Table of contents Overview Code Implementation Si...

Steps for packaging and configuring SVG components in Vue projects

I just joined a new company recently. After getti...

Detailed introduction to MySQL database index

Table of contents Mind Map Simple understanding E...

Detailed explanation of hosts file configuration on Linux server

Linux server hosts file configuration The hosts f...

How to recover files accidentally deleted by rm in Linux environment

Table of contents Preface Is there any hope after...

MySQL randomly extracts a certain number of records

In the past, I used to directly order by rand() t...

Detailed explanation of MySQL backup and recovery practice of mysqlbackup

1. Introduction to mysqlbackup mysqlbackup is the...

Detailed explanation of anonymous slots and named slots in Vue

Table of contents 1. Anonymous slots 2. Named slo...