全局风格

有时,我们确实需要改变子组件中的样式。 当使用带有React的markdown时,这一点尤其如此。 您可以在我们的帖子页面看到。(pages/post.js)

这就是全球风格派上用场的地方。 现在尝试添加一些全局样式规则与样式的jsx。 将以下内容应用于pages/post.js

在应用以下内容之前,请在应用程序中安装反应标记组件:npm install --save react-markdown

  1. import Layout from '../components/MyLayout.js'
  2. import Markdown from 'react-markdown'
  3. export default (props) => (
  4. <Layout>
  5. <h1>{props.url.query.title}</h1>
  6. <div className="markdown">
  7. <Markdown source={`
  8. This is our blog post.
  9. Yes. We can have a [link](/link).
  10. And we can have a title as well.
  11. ### This is a title
  12. And here's the content.
  13. `}/>
  14. </div>
  15. <style jsx global>{`
  16. .markdown {
  17. font-family: 'Arial';
  18. }
  19. .markdown a {
  20. text-decoration: none;
  21. color: blue;
  22. }
  23. .markdown a:hover {
  24. opacity: 0.6;
  25. }
  26. .markdown h3 {
  27. margin: 0;
  28. padding: 0;
  29. text-transform: uppercase;
  30. }
  31. `}</style>
  32. </Layout>
  33. )

会发生什么?

  1. ✦没有变化
  2. ✓应用程序可以应用于markdown内容
  3. ✦页面上的错误
  4. ✦控制台上的错误