『我们可以很简单就拥有个人主页④』装修主页吧!·基础篇

声明

  • 本系列教程是建立于「写意」平台基础上的个人博客主页建设指南,应该能应用于其他 Write Freely 的社区,内容基本上是我在建设主页过程里的笔记的归纳和一些资料的整理,目标是让没有编程基础的用户也能够看懂并使用,故大概不会涉及到较为复杂的部分。
  • 如果您是专业人士或已经有了不少利用 HTML/CSS 以及 Markdown 写作及建设个人主页的经验,我想这份教程或许对您并没有什么用处,但是欢迎指出任何错误或是遗漏的地方。

这篇文章主要关于如何利用 CSS 来自定义博客主页的基础部分,参考了 WriteFreely 的官方文档中的 「Customizing CSS」以及 CSS 基础教程的内容。还有一些使用的例子或是引用已在文章内进行了标注。

本篇覆盖内容
  • 自定义 CSS:自定义的界面、如何使用主题、CSS 代码的结构、可供修改的简单模版
上一篇插入各类元素让文章丰富多彩·下 下一篇装修主页吧!·源代码篇

『我们可以很简单就拥有个人主页』系列目录内容是主页的基础插入各类元素让文章丰富多彩·上插入各类元素让文章丰富多彩·下装修主页吧!·基础篇装修主页吧!·源代码篇装修主页吧!·文字篇装修主页吧!·图像篇装修主页吧!·技巧篇


如果您是使用电脑阅览的这个博客,您会发现这个博客和您的博客的样式有所不同。这是因为我使用了 Write Freely 所提供的自定义 CSS 的功能。 从这篇教程起,我将介绍如何用 CSS 来装修您的主页。


HTML 与 CSS

我们在前几篇文章中使用过的 Markdown 是一种轻量型标记语言,它通过简单的语法和符号标记来描述文本的格式(Wikipedia),而比 Markdown 使用起来稍微复杂一些的 HTML 是专门用于创建网页的标记语言。 虽然我们在写作时使用 Markdown 只是输入了几个符号,但是博客的服务器实际上将其转化成了 HTML,这也是 HTML 语法同样可以用于写作时的插入元素或是设置格式的原因。也就是说,如果您对 HTML 更为熟悉,您在写作时也可以只使用 HTML 的标签及代码来设置格式。

CSS,中文为「层叠样式表」,是专门用来为类似 HTML 文档这样的结构化文档设定样式的语言(Wikipedia)。 我们在之前使用 Markdown 和 HTML 时大多都是在文本中增加了这些标记语法来设置格式,本质上是在写作。而 CSS 一眼看上去则更偏向于人们平时所理解的代码(虽然它并不是编程语言),全英文让人乍一看根本搞不懂在写什么的那种,本质上……就是在写代码。

但是请您不要害怕,我们可以较为轻松地使用它来满足我们的一些简单的需求。


「自定义 CSS」

Write Freely 博客的「自定义 CSS」的功能在「自定义」界面里。

如何进入「写意」的「自定义」界面 如果您使用的是「写意」,您可以通过三种方式进入「自定义」界面:

  • 当您进入您的个人博客主页时:将鼠标放置在左上角的「菜单」上,再在出现的菜单里选择「自定义」;
  • 当您进入「写意」的主界面时:点击左上角横排菜单的「博客」,然后在新打开的「我的博客」的界面里点击您想要自定义的那个博客的「自定义」选项;
  • 当您进入写作界面时:将鼠标放置在左上角的那个文字选项上(可能是「草稿箱」,也可能是您的某个博客的名字,这取决于您写作时选择的发表地点),再在出现的菜单里选择「我的博客」,然后在新打开的「我的博客」的界面里点击您想要自定义的那个博客的「自定义」选项。

进入「自定义」界面后,滑动到页面的最下方,就可以看见「自定义 CSS」的输入框了。您可以直接在这里输入 CSS 代码,或者将写好了的代码粘贴于此,再点击下方的「保存更改」,输入的 CSS 代码就会应用于该博客界面。

HTML 也支持 JavaScript 脚本,有的 Write Freely 的社区除了自定义 CSS 以外也提供自定义 JavaScript 的功能,不过「写意」暂时没有,所以在这里只介绍如何使用 CSS。


CSS 代码

您可以复制现成的 CSS 代码,也可以自己写。

博客主题

事实上,Write Freely 有一些用户们所提供的博客主题,您可以在「Writes.as」的「Themes」博客选择您喜欢的主题。

如何复制现有的主题 我们用这个博客作为例子,这是它现在的默认界面。

  • 主页 Template 1
  • 文章页面 Template 2

接下来,我们开始复制想要的主题:

  1. 首先,点击您想要的主题下方的「Explore theme…」。这里我们使用了「Themes」博客中的第一个主题「Bilge」作为例子,感谢它的制作者 Max Henderson 以及修改者 David Blue。 Theme 1
  2. 滑动到页面下方,点击「Copy Theme」。 Theme 2
  3. 复制「CSS」标题下方的代码框里的内容。 Theme 3
    有的主题的 CSS 代码下方还会有一个标题为「JS」的代码框,那是 JavaScript 的代码。如果您的社区支持自定义 JavaScript,您可以将其复制粘贴到自己博客「自定义」界面的自定义 JavaScript 的输入框内。如果您的社区不支持,您可以无视它。
  4. 将代码粘贴到「自定义 CSS」的输入框里,点击「保存更改」。 Theme 4
  5. 点开博客查看吧!现在博客已经是应用了主题的样子了。
    • 主页 Theme 5
    • 文章页面 Theme 6
通过直接使用现成的主题,您可以非常轻松地获得一个个性化的个人博客主页。但您或许对现有的主题也不太满意,希望可以修改一些东西,那么这就需要您动手编写或是修改 CSS 代码了。这也是这系列教程今后的主要内容。

编写 CSS

在编写 CSS 之前,首先需要理解 CSS 的结构原理。 HTML 有许多的标签,比如在介绍标题时曾提到过的 <h1><h6>,又比如制作列表所用的 <ul><ol><li>,再比如折叠文本所用的 <details><summary>……这些位于 <> 开头的名字就是不同标签的名称。而放置在标签之中的内容则是会在网页生成时放入这些标签所代表的元素之中的内容。 比如,<h6> 代表的是最小的标题,那么 <h6>小标题</h6> 就表示「小标题」这三个字会以最小的六号标题的样式呈现在网页中。

而 CSS,就是通过选择 HTML 代码中的标签或是某一元素,并赋予其某种格式,让这一标签或是元素下的所有内容都以这个格式的样子呈现。 继续 <h6> 的例子,假如您想给这个六号小标题更改一下格式,那么您需要在 CSS 文件里这么写:

h6 {
    /* 您想设置的格式的声明 */
}

这段 CSS 代码里的 h6 是一个「选择器」,在这里表示「选择了 <h6> 这一标签」。而 h6 后面跟着的 {} 内是需要填写的格式声明,只要保证声明的内容在大括号内,想要空多少行或者写多少行都无所谓。

您可能会好奇 /* */ 是什么的意思,这是 CSS 里的注释所用的符号,写在 /**/ 之间的内容就是注释的内容。在计算机语言里,注释并不会被运行,是用来写笔记或是解释代码的作用,进而增加代码可读性的。

一条格式声明由两部分组成:「属性」和「属性数值」。它们会以 属性: 属性数值; 的形式编写出来,以 ; 作为结尾表示这条声明已经编写完毕。 {} 内可以填写任意条声明。

跟在属性之后的 : 后面可以选择不空格,这不影响代码的运行,空格与否是个人习惯。同理,{} 是和其他代码放在同一行还是单独放在新的一行都是个人习惯,可以自行选择自己喜欢的格式,虽然这也是不少程序员合作时会打架的原因

例如

我们希望六号标题的字号是 12 号,且颜色是红色。那么「选择器」选择的内容是 h6,同时,我们需要两条声明:
  1. 属性为「字号」,属性数值为「12 号」;
  2. 属性为「颜色」,属性数值为「红色」。

按照一条声明的格式,我们需要写类似这样的 CSS 代码:

h6 {
    字号: 12 号;
    颜色: 红色;
}

那么接下来我们只需要知道「字号」、「12 号」、「颜色」和「红色」在 CSS 里对应的写法或者说名称是什么了。之后的教程会介绍一些比较常用的写法,不过一般您可以通过在搜索引擎搜索类似「CSS 字号」这样的关键词得到您想要的信息。

在这个例子里,CSS 的代码会是这样的:

h6 {
    font-size: 12px;
    color: red;
}

请使用半角符号,以及不要忘记一条声明的结尾的分号

在学会如何写声明后,就可以来实践了! 您可能还不知道一些 HTML 元素的名称是什么,即选择器的部分要如何填写,这部分的内容也会在之后的教程中提到。不过在现在,如果您的英文还不错,您可以通过读那些现成的主题的 CSS 代码来看出一些 CSS 选择器所对应的页面元素。通过一些尝试,或许您还可以学会一些格式声明的写法。 不过我也准备了一份 CSS 代码来帮助您自主修改一些 Write Freely 博客中的主要元素。

依旧是之前所用的博客的例子,它的默认界面是这样的:

您可以根据需求复制、运用或修改以下被折叠的 CSS 代码的其中一版:

普通版

/*

    The author has dedicated all copyright and related rights
    to this work to the public domain worldwide.
    This work is under the CC0 1.0 Universal Public Domain Dedication.
    CC0 1.0: https://creativecommons.org/publicdomain/zero/1.0/

*/

body {
    background-color: aliceblue;
}

#blog-title a {
    font-family: 'Hiragino Sans GB';
    font-weight: bold;
    color: midnightblue;
}

.description {
    font-family: 'Hiragino Sans GB';
    font-style: italic;
}

.pinned {
    font-family: 'Hiragino Sans GB';
    font-size: 18px;
    color: white;
    background-color: #191970;
}

.post-title {
    font-family: 'Microsoft Yahei';
    font-size: 18px;
    font-weight: bold;
}

#title {
    color: midnightblue;
}

time {
    font-family: 'AXIS Std';
    font-size: 13px !important;
    margin-bottom: 1em;
}

article p {
    font-family: 'SimSun';
    font-size: 15px;
    color: black;
}

hr {
    border-top: 2px solid midnightblue;
}

英文注释版

/*

    The author has dedicated all copyright and related rights
    to this work to the public domain worldwide.
    This work is under the CC0 1.0 Universal Public Domain Dedication.
    CC0 1.0: https://creativecommons.org/publicdomain/zero/1.0/

*/

/* The entire page */
body {
    /* Change the background color to AliceBlue (#F0F8FF) */
    background-color: aliceblue;
}

/* Blog title */
#blog-title a {
    /* Change the font to Hiragino Sans GB */
    font-family: 'Hiragino Sans GB';
    /* Bold text */
    font-weight: bold;
    /* Change the font color to MidnightBlue (#191970) */
    color: midnightblue;
}

/* Blog description (underneath title) on home page */
.description {
    /* Change the font to Hiragino Sans GB */
    font-family: 'Hiragino Sans GB';
    /* Italic text */
    font-style: italic;
}

/* Pinned posts */
.pinned {
    /* Change the font to Hiragino Sans GB */
    font-family: 'Hiragino Sans GB';
    /* Change the font size to 18px */
    font-size: 18px;
    /* Change the font color to white (#FFFFFF) */
    color: white;
    /* Change the background color to MidnightBlue (#191970) */
    background-color: #191970;
}

/* Post titles on home page */
.post-title {
    /* Change the font to Microsoft Yahei */
    font-family: 'Microsoft Yahei';
    /* Change the font size to 18px */
    font-size: 18px;
    /* Bold text */
    font-weight: bold;
}

/* Post title on post page */
#title {
    /* Change the font color to MidnightBlue (#191970) */
    color: midnightblue;
}

/* Date */
time {
    /* Change the font to AXIS Std */
    font-family: 'AXIS Std';
    /* Change the font size to 13px */
    /* !important means this declaration overrides other declarations */
    font-size: 13px !important;
    /* Add space below the date */
    margin-bottom: 1em;
}

/* Article text on home and post page */
article p {
    /* Change the font to SimSun */
    font-family: 'SimSun';
    /* Change the font size to 15px */
    font-size: 15px;
    /* Change the font color to black (#000000) */
    color: black;
}

/* Horizontal line */
hr {
    /* Add a 2px solid MidnightBlue top border */
    border-top: 2px solid midnightblue;
}

应用了这串 CSS 代码后,博客变成了这个样子:

您可以通过替换掉声明的内容来进行您的主页的自定义设计。

如果您看不出来每个选择器所对应的主页元素,可以查看下面这个带中文注释的版本,但建议不要复制使用,因为至少「写意」的自定义 CSS 的部分似乎运行不了带中文内容的代码(即使中文是在注释里也不行)。就算要使用中文注释版,也记得在修改后、保存更改前移除掉所有中文注释,并在其他地方备份,以免出现辛苦编写的代码丢失的情况。

中文注释版

/*

    The author has dedicated all copyright and related rights
    to this work to the public domain worldwide.
    This work is under the CC0 1.0 Universal Public Domain Dedication.
    CC0 1.0: https://creativecommons.org/publicdomain/zero/1.0/

*/

/* 整个页面 */
body {
    /* 将「背景颜色」改为「AliceBlue(#F0F8FF)」*/
    /* Ps. 这里直接使用了该颜色的名字 */
    background-color: aliceblue;
}

/* 博客标题 */
#blog-title a {
    /* 将「字体」改为「冬青黑体(Hiragino Sans GB)」 */
    font-family: 'Hiragino Sans GB';
    /* 将字体「加粗」 */
    /* Ps. 这一步其实无关紧要,因为似乎预设的标题字体就是加粗过的 */
    font-weight: bold;
    /* 将「字体颜色」改为「MidnightBlue(#191970)」 */
    /* Ps. 这里直接使用了该颜色的名字 */
    color: midnightblue;
}

/* 博客描述(简介) */
.description {
    /* 将「字体」改为「冬青黑体(Hiragino Sans GB)」 */
    font-family: 'Hiragino Sans GB';
    /* 将字体设置为「斜体」 */
    font-style: italic;
}

/* 置顶文章的标题 */
.pinned {
    /* 将「字体」改为「冬青黑体(Hiragino Sans GB)」 */
    font-family: 'Hiragino Sans GB';
    /* 将「字号」改为「18 号」 */
    font-size: 18px;
    /* 将「字体颜色」改为「白色(#FFFFFF)」 */
    /* Ps. 这里直接使用了该颜色的名字 */
    color: white;
    /* 将「字体颜色」改为「MidnightBlue(#191970)」 */
    /* Ps. 这里使用了该颜色的十六进制编码 */
    background-color: #191970;
}

/* 博客主页的文章标题 */
.post-title {
    /* 将「字体」改为「微软雅黑(Microsoft Yahei)」 */
    font-family: 'Microsoft Yahei';
    /* 将「字号」改为「18 号」 */
    font-size: 18px;
    /* 将字体「加粗」 */
    font-weight: bold;
}

/* 文章页面的文章标题 */
/* Ps. 它和上面的主页中的文章标题对应的选择内容并不相同 */
#title {
    /* 将「字体颜色」改为「MidnightBlue(#191970)」 */
    /* Ps. 这里直接使用了该颜色的名字 */
    color: midnightblue;
}

/* 日期 */
time {
    /* 将「字体」改为「AXIS Std」 */
    font-family: 'AXIS Std';
    /* 将「字号」改为「13 号」 */
    /* Ps. 这里的「!important」的意思是这条声明的优先度在其他声明之上,属于特殊情况 */
    font-size: 13px !important;
    /* 在日期的文字下方与文章正文之间空出一些距离 */
    margin-bottom: 1em;
}

/* 文章正文的文字 */
article p {
    /* 将「字体」改为「宋体(SimSun)」 */
    font-family: 'SimSun';
    /* 将「字号」改为「15 号」 */
    font-size: 15px;
   /* 将「字体颜色」改为「黑色(#000000)」 */
    /* Ps. 这里直接使用了该颜色的名字 */
    color: black;
}

/* 分割线 */
hr {
    /* 变成了 2 px 大小的实心线,颜色为 MidnightBlue */
    border-top: 2px solid midnightblue;
}


感谢您的阅览。 下一篇教程将会介绍如何寻找到想要赋予格式的网页元素的标签或选择器名称。


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.