---
title: Learn the Basics
description: "Read a 3-minute tutorial to learn the basics of Yamada UI's components, styling, responsive design, and color mode."
---
This guide will help you understand the concepts of Yamada UI. We recommend reading this guide before you start developing with Yamada UI.
:::tip
This guide is basic and is intended to give you a sense of the **fun** of developing with Yamada UI. Therefore, it does not explain each concept and feature in depth. If you want to know more, please check the links within the page.
:::
## Components
Yamada UI provides components in two ways. One is a new method of downloading components locally from [CLI](https://yamada-ui.com/docs/components/cli.md). The other is the traditional method of importing components from modules.
### Download
The cases for downloading components locally from [CLI](https://yamada-ui.com/docs/components/cli.md) are as follows.
- Customize the [variant](https://yamada-ui.com/docs/components/styled.md#variant-style) or [size](https://yamada-ui.com/docs/components/styled.md#size-style) styles of the component.
- Customize the initial value or logic of the component.
- Fix a bug in the component's style or logic by directly modifying it.
```bash
pnpm yamada-cli add button
```
```bash
npm yamada-cli add button
```
```bash
yarn yamada-cli add button
```
```bash
bun yamada-cli add button
```
:::note
Yamada UI updates the components, you can easily update the components by checking the [Check Differences](https://yamada-ui.com/docs/components/cli.md#check-differences) or [Update Components](https://yamada-ui.com/docs/components/cli.md#update-components) in [CLI](https://yamada-ui.com/docs/components/cli.md). If your changes conflict with the updates, they will be displayed in the same way as the [HOW CONFLICTS ARE PRESENTED](https://git-scm.com/docs/git-merge#_how_conflicts_are_presented) of [Git](https://git-scm.com), and you can easily resolve them.
:::
### Import
If you want to use the component without making any changes, you can simply import the component from the module.
```tsx
import { Button } from "@yamada-ui/react"
```
```tsx
import { Button } from "@/components/ui"
```
```tsx
import { Button } from "@workspaces/ui"
```
:::note
If you want to know more about the components, please check [this](https://yamada-ui.com/docs/components.md).
:::
## Styling
[Style Props](https://yamada-ui.com/docs/styling/style-props.md) is a prop that applies styles to elements using props. Style Props follows the [CSS properties](https://developer.mozilla.org/ja/docs/Web/CSS/Properties) and provides all properties in camelCase.
```tsx
Box
```
:::note
[Style Props](https://yamada-ui.com/docs/styling/style-props.md) uses [@mdn/browser-compat-data](https://github.com/mdn/browser-compat-data). When the library is updated, Style Props is also updated periodically.
:::
### Conditional Styles
Conditional styles allow you to apply styles to [pseudo-elements](https://yamada-ui.com/docs/styling/style-props.md#pseudo-elements), [pseudo-classes](https://yamada-ui.com/docs/styling/style-props.md#pseudo-classes), and [selectors](https://yamada-ui.com/docs/styling/style-props.md#selectors).
```tsx
Hover me
```
:::note
If you want to know more about the styling, please check [this](https://yamada-ui.com/docs/styling.md).
:::
### Color Schemes
Color schemes generate a color context for the component based on the values. This improves consistency in colors.
```tsx
Solid
Subtle
```
Color schemes inherit the color scheme of the parent element.
```tsx
Provided by Parent
Child
```
:::note
If you want to know more about the color schemes, please check [this](https://yamada-ui.com/docs/styling/color-scheme.md).
:::
## Responsive Design
Responsive design refers to the breakpoints defined in the theme. Yamada UI has a default theme, and [breakpoints](https://yamada-ui.com/docs/theming/tokens/breakpoints.md) are defined.
To apply responsive design to [Style Props](https://yamada-ui.com/docs/styling/style-props.md), set an object with the breakpoints as the key.
- The keys of the object define the keys set in the theme's [breakpoints](https://yamada-ui.com/docs/theming/tokens/breakpoints.md).
- The values of the object define the values of the styles set by the key.
```tsx
Box
```
:::note
If you want to know more about the responsive design, please check [this](https://yamada-ui.com/docs/styling/responsive-design.md).
:::
## Color Mode
Yamada UI has built-in support for managing the application's color mode, allowing you to easily switch between light and dark modes. All provided components also support dark mode.
To apply color mode to [Style Props](https://yamada-ui.com/docs/styling/style-props.md), set an array.
- Set the value for light mode as the first element.
- Set the value for dark mode as the last element.
```tsx
Box
```
:::note
If you want to know more about the color mode, please check [this](https://yamada-ui.com/docs/styling/color-mode.md).
:::
## Congratulations!
Congratulations!🎉
This means you've become a **Regular Yamada**🥳
To the **Regular Yamada**, I'd like to give you this word.
"Next, I'm waiting for you in [Learn the Advanced](https://yamada-ui.com/docs/get-started/advanced.md)///"😘
## Learn more
Want to learn more about Yamada UI?😎
- [Learn the Advanced](https://yamada-ui.com/docs/get-started/advanced.md): Learn the applications of styling, responsiveness, dark mode, and animations of Yamada UI.
- [Explore the Components](https://yamada-ui.com/docs/components.md): Yamada UI provides over 130 flexible components. All components support animations and dark mode.
- [Learn the Styling](https://yamada-ui.com/docs/styling.md): All components are designed to be styled using props.
- [Explore the Source Code](https://github.com/yamada-ui/yamada-ui): Yamada UI's package and documentation site are open source. If you like Yamada UI, please star it.