mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
Add with-global-stylesheet-simple (#3157)
* Add with-global-stylesheet-simple * Lint fix
This commit is contained in:
parent
ef157d97a7
commit
9320d9f006
12
examples/with-global-stylesheet-simple/.babelrc
Normal file
12
examples/with-global-stylesheet-simple/.babelrc
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
[
|
||||||
|
"inline-import",
|
||||||
|
{
|
||||||
|
"extensions": [".css"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"presets": ["next/babel"],
|
||||||
|
"ignore": []
|
||||||
|
}
|
48
examples/with-global-stylesheet-simple/README.md
Normal file
48
examples/with-global-stylesheet-simple/README.md
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
[![Deploy to now](https://deploy.now.sh/static/button.svg)](https://deploy.now.sh/?repo=https://github.com/zeit/next.js/tree/master/examples/with-global-stylesheet-simple)
|
||||||
|
|
||||||
|
## Global Stylesheet Example (Simple Version - CSS inside `node_modules`)
|
||||||
|
|
||||||
|
This is an example of importing a CSS file located inside `node_modules` (ones you downloaded using `npm` or `yarn`).
|
||||||
|
|
||||||
|
This would be useful for importing CSS libraries such as [`normalize.css`](https://necolas.github.io/normalize.css/).
|
||||||
|
|
||||||
|
### What if I want to import my own CSS, such as `styles/foo.css`?
|
||||||
|
|
||||||
|
Check out the [with-global-stylesheet](../with-global-stylesheet) example.
|
||||||
|
|
||||||
|
### How It Works
|
||||||
|
|
||||||
|
- Install `babel-plugin-inline-import` using `npm` or `yarn`
|
||||||
|
- Then, add this to your `.babelrc`:
|
||||||
|
|
||||||
|
```js
|
||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
[
|
||||||
|
"inline-import",
|
||||||
|
{
|
||||||
|
"extensions": [".css"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"presets": ["next/babel"],
|
||||||
|
"ignore": []
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- Install any CSS library using `npm` or `yarn`. In this example, I installed [`tachyons`](http://tachyons.io/).
|
||||||
|
- Import the CSS file. Here, I'm importing a CSS file located at `node_modules/tachyons/css/tachyons.min.css`.
|
||||||
|
|
||||||
|
```js
|
||||||
|
import tachyons from 'tachyons/css/tachyons.min.css'
|
||||||
|
```
|
||||||
|
|
||||||
|
- Add it globally using `styled-jsx`:
|
||||||
|
|
||||||
|
```js
|
||||||
|
<style jsx global>{tachyons}</style>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Result ([`index.js`](pages/index.js)):
|
||||||
|
|
||||||
|
![](example.png)
|
BIN
examples/with-global-stylesheet-simple/example.png
Normal file
BIN
examples/with-global-stylesheet-simple/example.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 103 KiB |
14
examples/with-global-stylesheet-simple/package.json
Normal file
14
examples/with-global-stylesheet-simple/package.json
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"scripts": {
|
||||||
|
"dev": "next dev",
|
||||||
|
"build": "next build",
|
||||||
|
"start": "next"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"babel-plugin-inline-import": "^2.0.6",
|
||||||
|
"next": "^4.1.3",
|
||||||
|
"react": "^16.0.0",
|
||||||
|
"react-dom": "^16.0.0",
|
||||||
|
"tachyons": "^4.8.1"
|
||||||
|
}
|
||||||
|
}
|
29
examples/with-global-stylesheet-simple/pages/index.js
Normal file
29
examples/with-global-stylesheet-simple/pages/index.js
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
import React from 'react'
|
||||||
|
import tachyons from 'tachyons/css/tachyons.min.css'
|
||||||
|
|
||||||
|
const SomeComponent = () =>
|
||||||
|
<div className='sans-serif'>
|
||||||
|
<article className='br2 ba dark-gray b--black-10 mv4 w-100 w-50-m w-25-l mw5 center'>
|
||||||
|
<img src='http://placekitten.com/g/600/300' className='db w-100 br2 br--top' alt='Photo of a kitten looking menacing.' />
|
||||||
|
<div className='pa2 ph3-ns pb3-ns'>
|
||||||
|
<div className='dt w-100 mt1'>
|
||||||
|
<div className='dtc'>
|
||||||
|
<h1 className='f5 f4-ns mv0'>Cat</h1>
|
||||||
|
</div>
|
||||||
|
<div className='dtc tr'>
|
||||||
|
<h2 className='f5 mv0'>$1,000</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p className='f6 lh-copy measure mt2 mid-gray'>
|
||||||
|
If it fits, i sits burrow under covers. Destroy couch leave hair everywhere,
|
||||||
|
and touch water with paw then recoil in horror.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
export default () =>
|
||||||
|
<div>
|
||||||
|
<SomeComponent />
|
||||||
|
<style jsx global>{tachyons}</style>
|
||||||
|
</div>
|
Loading…
Reference in a new issue