博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 Gatsby.js 搭建静态博客 3 样式调整
阅读量:7251 次
发布时间:2019-06-29

本文共 1682 字,大约阅读时间需要 5 分钟。

原文链接:

回顾:

修复代码高亮

为了测试样式,随便找一个以前的 .md 文件粘贴到 blog 项目中渲染看看效果:

图片描述

emmm,问题大了,必备的代码高亮都没有...

图片描述

但是当我审查元素时发现,这竟然是已经被分词的状态,又经过一系列的资料搜集,发现 prismjs 已经预装到项目中,那么我们要做仅仅是引入css文件就行了。

import 'prismjs/themes/prism-TWILIGHT.css'

图片描述

成功添加样式!当然,除了 TWILIGHT,prismjs 还有其他样式如 COY、OKAIDIA 等,还有其他可以看右侧的选项。

大问题解决了然后就按照自己喜好调整样式吧~

全局自定义样式

方案 1:修改 typography.js

你可以通过在 src/utils/typography.js 中的 overrideThemeStyles 添加全局样式(当然,其更重要的作用是覆盖原有的主题样式)。

不过比较麻烦的是:

  1. 覆盖样式需重启服务才能生效
  2. 不能嵌套选择器
// 这是一个 ?Wordpress2016.overrideThemeStyles = () => ({  'a.gatsby-resp-image-link': {    boxShadow: 'none',  },  'h1, h2, h3, h4, h5, h6': {    fontWeight: 100,  },  h1: {},  img: {    background: '#fff',    padding: '5px',  },  body: {    backgroundColor: $backgroundColor,    color: $fontColor,    fontFamily: 'source-han-sans-simplified-c, sans-serif',    fontWeight: 400,    fontStyle: 'normal',  },})

方案 2:使用 SCSS

除了修改 typography.js,你还可以添加全局 CSS 文件。

因为预想到未来可能需要修改主题,方便起见应该将一些常用颜色存为变量,所以需要先安装 scss 和 gatsby 对应插件:

npm install --save node-sass gatsby-plugin-sass

并在插件列表添加插件 gatsby-plugin-sass

参考

再次运行项目,此时已经可以正常引入 scss 文件。

$backgroundColor: #434343;$titleColor: #E87A90;body {    background-color: $backgroundColor;}.css-title{    color: $titleColor;}

css-title 这种命名方式或许很非主流,但是,不知道大家有没有这样的经历,在全局搜索时,搜一个常用词,就比如 title,会搜出一大堆东西影响判断。所以我以 css-title 命名的目的是区分其他 title,在搜索 css-title 绝对不会出现在 js 中使用的变量,在特殊情况需要全选修改的时候可以轻松无坑地全选此 class。

其实实际上还是要两种方法都用上,因为有的地方需要覆盖原来的样式,这个时候最好用 js,而自定义的样式经常需要嵌套,使用 scss 更方便。

PS1 打包后出现的问题

明明开发环境好好的,但是打包后却出现了样式不正常的问题(第一次加载全局css失效,刷新才出现效果)。在 github 提了个 issue,得到了热心回答,真的感人 ?。简单来说这个问题就是上面说的最好用 js 覆盖原来样式的原因。➡️

PS2 选择网络字体

字体对于中文用户是永远的痛。字符量大导致字体的体积大得可怕,严重影响用户体验。使用网络字体是其中一个方法(但是本质来说体积还是没有减小的,只是提供商可以为你高速提供字体,减少用户等待)。

在线字体可以在这里找到:

转载地址:http://plhbm.baihongyu.com/

你可能感兴趣的文章
iOS UIImageView(图片)
查看>>
可折叠显示的发光搜索表单
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 12 章 全文搜索_12.2. 表和索引
查看>>
java使用正则表达式判断手机号,固定电话,身份证,邮箱,url,车牌号,日期,ip地址,mac,人名等...
查看>>
新手也能轻松掌握的分布式系统「事务」技巧
查看>>
iOS开发之使用Git的基本使用(一)
查看>>
配置云存储网关在线服务支持多个互联VPC-高速通道版
查看>>
6个步骤从头开始编写机器学习算法:感知器案例研究
查看>>
NCalc 学习笔记 (三)
查看>>
NetBeans 成为 Apache 软件基金会顶级项目
查看>>
SSRF在Redis中反弹shell
查看>>
UML关系图
查看>>
SpringBoot 手写切片/面向切面编程
查看>>
动态 Web Server 技术发展历程
查看>>
使用pymysql(使用一)
查看>>
Redisson 3.10.6 发布,Redis 客户端
查看>>
日志框架 - 基于spring-boot - 使用入门
查看>>
用libtommath实现RSA算法
查看>>
基于POLARDB数据库的压测实践
查看>>
通过工具SecureCRTPortable将项目部署到服务器上
查看>>