Устали от попыток использовать Index.css. Попробуйте Emotionjs!
Что такое Emotionjs?
Emotionjs — это библиотека, которая позволяет писать css с помощью Javascript.
Стилизованные компоненты
Один из способов стилизации вашего сайта — использование стилизованных компонентов.
import React, { useState } from "react"
import styled from 'styled-components'
function Todoform(){
return (
<FormDiv>
<TitleP onClick={HandleClickFive}>Have Something More To-do?</TitleP>
<form onSubmit={handleHandlerSubmit}>
<p><TaskInput onChange={handleChange} type="text" name="task" placeholder="Task"></TaskInput></p>
<p><TaskInput onChange={handleChange} type="text" name="category" placeholder="Category"></TaskInput></p>
<SubmitButton type="submit">Add New Task</SubmitButton>
</form>
</FormDiv>
)
}
const FormDiv = styled.div`
background-color: darkgray;
padding: 20px;
background-size: 100%
`
const TaskInput = styled.input`
width: 70%;
padding: 12px 20px;
margin: 8px 0;
box-sizing: border-box;
`
const TitleP = styled.p`
font-size: 30px;
`
const SubmitButton = styled.button`
border-radius: 12px;
background-color: black;
color: white;
width: 150px;
height: 50px;
`
Это позволило мне создать компоненты внутри моего файла для настройки моей формы. Как вы можете видеть выше, я создал компоненты и затем использовал их вместо обычных элементов javascript. Вы также можете создать отдельный файл для компонента и импортировать его в свой код. Это было бы очень удобно, если бы вы хотели, чтобы определенный элемент был оформлен одинаково во всем коде.
Использование CSS Prop
Еще один способ использования Emotionjs — это использование css в качестве реквизита.
import React from 'react'
import { jsx } from '@emotion/react'
render(
<div
css={{
backgroundColor: 'forestgreen',
color: 'white'
}}
>
This has a green background.
</div>
)
Используя реквизит css, я смог отредактировать строку текста внутри div. Это позволяет вам напрямую редактировать стили внутри строк кода.
С помощью Emotionjs можно сделать гораздо больше, но я не буду рассказывать об этом в этом посте. Не стесняйтесь заглянуть в документацию по Emotionjs.