Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/styled-components/styled-components
Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress π
https://github.com/styled-components/styled-components
css css-in-js react styled-components
Last synced: 3 days ago
JSON representation
Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress π
- Host: GitHub
- URL: https://github.com/styled-components/styled-components
- Owner: styled-components
- License: mit
- Created: 2016-08-16T06:41:32.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-08-30T03:24:07.000Z (3 months ago)
- Last Synced: 2024-12-08T05:31:51.102Z (4 days ago)
- Topics: css, css-in-js, react, styled-components
- Language: TypeScript
- Homepage: https://styled-components.com
- Size: 33.1 MB
- Stars: 40,560
- Watchers: 354
- Forks: 2,500
- Open Issues: 302
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-react-native - styled-components β 20064 - Style React and React Native with utilising tagged template literals. (Components / Styling)
- awesome-css - Styled-components
- awesome-react - styled-components - Visual primitives for the component age (**Awesome React** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) / React)
- awesome-web-react - Styled Components - Visual primitives for the component age. (UI)
- awesome-list - styled-components - components | 34469 | (TypeScript)
- awesome-react-components - styled-components - Visual primitives for the component age. (Code Design / CSS / Style)
- awesome-react-native - styled-components β 20064 - Style React and React Native with utilising tagged template literals. (Components / Styling)
- awesome-react-components - styled-components - Visual primitives for the component age. (Code Design / CSS / Style)
- awesome-web-dev - styled-components
- awesome-react - styled-components - Visual primitives for the component age (Uncategorized / Uncategorized)
- Starred-Repo - Styled Components
- best-of-react - GitHub - 8% open Β· β±οΈ 09.05.2024): (Styling)
- awesome-github-star - styled-components - components | 39527 | (TypeScript)
- awesome-react-components - styled-components - Visual primitives for the component age. (Code Design / CSS / Style)
- awesome-list - styled-components - Visual primitives for the component age. (Code Design / CSS / Style)
- awesome-react-native - styled-components β 20064 - Style React and React Native with utilising tagged template literals. (Components / Styling)
- awesome - styled-components - Comparing different ways to style components. (CSS / React Components)
- awesome - styled-components
- jimsghstars - styled-components/styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress π (TypeScript)
- stars - styled-components/styled-components
- awesome-react-components - styled-components - Visual primitives for the component age. (Code Design / CSS / Style)
- StarryDivineSky - styled-components/styled-components
- awesome-react-cn - styled-components - Visual primitives for the component age (Uncategorized / Uncategorized)
- awesome-react - styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress ` π 11 days ago` (React [π](#readme))
- awesome-react-native - styled-components β 20064 - Style React and React Native with utilising tagged template literals. (Components / Styling)
- awesome-frontend - Styled Components
- awesome - styled-components/styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress π (TypeScript)
- awesome-css-in-js - styled-components
- awesome - styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress π (JavaScript)
- awesome-web-cn - styled-components - δ½Ώη¨ All in js ηζΉεΌε¨ React δΈηΌε CSS (Uncategorized / Uncategorized)
- awesome-learning-resources - styled-components - Visual primitives for the component age (Uncategorized / Uncategorized)
- fucking-awesome-react-components - styled-components - Visual primitives for the component age. (Code Design / CSS / Style)
README
Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress π
---
**Upgrading from v5?** See the [migration guide](https://styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v6).
Utilizing [tagged template literals](https://www.styled-components.com/docs/advanced#tagged-template-literals) (a recent addition to JavaScript) and the [power of CSS](https://www.styled-components.com/docs/api#supported-css), `styled-components` allow you to write actual CSS code to style your components. It also removes the mapping between components and styles β using components as a low-level styling construct could not be easier!
```jsx
const Button = styled.button`
color: grey;
`;
```Alternatively, you may use [style objects](https://www.styled-components.com/docs/advanced#style-objects). This allows for easy porting of CSS from inline styles, while still supporting the more advanced styled-components capabilities like component selectors and media queries.
```jsx
const Button = styled.button({
color: 'grey',
});
```Equivalent to:
```jsx
const Button = styled.button`
color: grey;
`;
````styled-components` is compatible with both React (for web) and React Native β meaning it's the perfect choice even for truly universal apps! See the [documentation about React Native](https://www.styled-components.com/docs/basics#react-native) for more information.
_Supported by [Front End Center](https://frontend.center). Thank you for making this possible!_
---
## [Docs](https://www.styled-components.com/docs)
**See the documentation at [styled-components.com/docs](https://www.styled-components.com/docs)** for more information about using `styled-components`!
Quicklinks to some of the most-visited pages:
- [**Getting started**](https://www.styled-components.com/docs/basics)
- [API Reference](https://styled-components.com/docs/api)
- [Theming](https://www.styled-components.com/docs/advanced#theming)
- [Server-side rendering](https://www.styled-components.com/docs/advanced#server-side-rendering)
- [Tagged Template Literals explained](https://www.styled-components.com/docs/advanced#tagged-template-literals)---
## Example
```jsx
import React from 'react';import styled from 'styled-components';
// Create a react component that renders an
which is
// centered, palevioletred and sized at 1.5em
const Title = styled.h1`
font-size: 1.5em;
text-align: center;
color: palevioletred;
`;// Create a react component that renders a with
// some padding and a papayawhip background
const Wrapper = styled.section`
padding: 4em;
background: papayawhip;
`;function MyUI() {
return (
// Use them like any other React component β except they're styled!
Hello World, this is my first styled component!
);
}
```This is what you'll see in your browser:
---
## Looking for v5?
The `main` branch is for the most-current version of styled-components, currently v6. For changes targeting v5, please point your PRs at the `legacy-v5` branch.
---
## Built with `styled-components`
A lot of hard work goes into community libraries, projects, and guides. A lot of them make it easier to get started or help you with your next project! There are also a whole lot of interesting apps and sites that people have built using styled-components.
Make sure to head over to [awesome-styled-components](https://github.com/styled-components/awesome-styled-components) to see them all! And please contribute and add your own work to the list so others can find it.
---
## Contributing
If you want to contribute to `styled-components` please see our [contributing and community guidelines](./CONTRIBUTING.md), they'll help you get set up locally and explain the whole process.
Please also note that all repositories under the `styled-components` organization follow our [Code of Conduct](./CODE_OF_CONDUCT.md), make sure to review and follow it.
---
## Badge
Let everyone know you're using _styled-components_ β [![style: styled-components](https://img.shields.io/badge/style-%F0%9F%92%85%20styled--components-orange.svg?colorB=daa357&colorA=db748e)](https://github.com/styled-components/styled-components)
```md
[![style: styled-components](https://img.shields.io/badge/style-%F0%9F%92%85%20styled--components-orange.svg?colorB=daa357&colorA=db748e)](https://github.com/styled-components/styled-components)
```---
## Contributors
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
---
## Backers
Thank you to all our backers! π [[Become a backer](https://opencollective.com/styled-components#backer)]
---
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/styled-components#sponsor)]
---
## License
Licensed under the MIT License, Copyright Β© 2016-present Glen Maddern and Maximilian Stoiber.
See [LICENSE](./LICENSE) for more information.
---
## Acknowledgements
This project builds on a long line of earlier work by clever folks all around the world. We'd like to thank Charlie Somerville, Nik Graf, Sunil Pai, Michael Chan, Andrey Popp, Jed Watson & Andrey Sitnik who contributed ideas, code or inspiration.
Special thanks to [@okonet](https://github.com/okonet) for the fantastic logo.