CSS 魔法与你
评分: +2+x

What this is

A bunch of miscellaneous CSS 'improvements' that I, CroquemboucheCroquembouche, use on a bunch of pages because I think it makes them easier to deal with.

The changes this component makes are bunch of really trivial modifications to ease the writing experience and to make documenting components/themes a bit easier (which I do a lot). It doesn't change anything about the page visually for the reader — the changes are for the writer.

I wouldn't expect translations of articles that use this component to also use this component, unless the translator likes it and would want to use it anyway.

This component probably won't conflict with other components or themes, and even if it does, it probably won't matter too much.


On any wiki:

[[include :scp-wiki:component:croqstyle]]

This component is designed to be used on other components. When using on another component, be sure to add this inside the component's [[iftags]] block, so that users of your component are not forced into also using Croqstyle.

Related components

Other personal styling components (which change just a couple things):

Personal styling themes (which are visual overhauls):

CSS changes

Reasonably-sized footnotes

Stops footnotes from being a million miles wide, so that you can actually read them.

.hovertip { max-width: 400px; }

Monospace edit/code

Makes the edit textbox monospace, and also changes all monospace text to Fira Code, the obviously superior monospace font.

@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap');
:root { --mono-font: "Fira Code", Cousine, monospace; }
#edit-page-textarea, .code pre, .code p, .code, tt, .page-source { font-family: var(--mono-font); }
.code pre * { white-space: pre; }
.code *, .pre * { font-feature-settings: unset; }

Teletype backgrounds

Adds a light grey background to <tt> elements ({{text}}), so code snippets stand out more.

tt {
  background-color: var(--swatch-something-bhl-idk-will-fix-later, #f4f4f4);
  font-size: 85%;
  padding: 0.2em 0.4em;
  margin: 0;
  border-radius: 6px;

No more bigfaces

Stops big pictures from appearing when you hover over someone's avatar image, because they're stupid and really annoying and you can just click on them if you want to see the big version.

.avatar-hover { display: none !important; }

Breaky breaky

Any text inside a div with class nobreak has line-wrapping happen between every letter.

.nobreak { word-break: break-all; }

Code colours

Add my terminal's code colours as variables. Maybe I'll change this to a more common terminal theme like Monokai or something at some point, but for now it's just my personal theme, which is derived from Tomorrow Night Eighties.

Also, adding the .terminal class to a fake code block as [[div class="code terminal"]] gives it a sort of pseudo-terminal look with a dark background. Doesn't work with [[code]], because Wikidot inserts a bunch of syntax highlighting that you can't change yourself without a bunch of CSS. Use it for non-[[code]] code snippets only.

Quick tool to colourise a 'standard' Wikidot component usage example with the above vars: link

:root {
  --c-bg: #393939;
  --c-syntax: #e0e0e0;
  --c-comment: #999999;
  --c-error: #f2777a;
  --c-value: #f99157;
  --c-symbol: #ffcc66;
  --c-string: #99cc99;
  --c-operator: #66cccc;
  --c-builtin: #70a7df;
  --c-keyword: #cc99cc;
.terminal, .terminal > .code {
  color: var(--c-syntax);
  background: var(--c-bg);
  border: 0.4rem solid var(--c-comment);
  border-radius: 1rem;

Debug mode

Draw lines around anything inside .debug-mode. The colour of the lines is red but defers to CSS variable --debug-colour.

You can also add div.debug-info.over and div.debug-info.under inside an element to annotate the debug boxes — though you'll need to make sure to leave enough vertical space that the annotation doesn't overlap the thing above or below it.

…like this!

.debug-mode, .debug-mode *, .debug-mode *::before, .debug-mode *::after {
  outline: 1px solid var(--debug-colour, red);
  position: relative;
.debug-info {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Fira Code', monospace;
  font-size: 1rem;
  white-space: nowrap;
.debug-info.over { top: -2.5rem; }
.debug-info.under { bottom: -2.5rem; }
.debug-info p { margin: 0; }

CSS 魔法与你


评分: +2+x


在基于Wikidot的SCP Wiki上,排版一篇文章需要使用Wikidot提供的标记语言(又称“Wikidot语法”或FTML(基金会文本标记语言),实质上是魔改版本的HTML),而实现更高级的效果或对某些排版元素的样式进行修改则需要使用Wikidot提供的CSS支持:

[[module CSS]]
/* CSS代码 */

CSS(层叠样式表,Cascading Style Sheets)是一种描述文档样式的标记语言,用于格式化HTML文档内元素的显示。简而言之,页面里每个部分的字体颜色、背景颜色、背景图片、边框、阴影都通过CSS定义。

在SCP Wiki,基本的页面样式由Sigma-9 版式定义。一般的文章排版只需使用Wikidot语法,涉及到页面元素样式的修改(居中、隐藏页面标题,修改版头标题内容等)才需要用到CSS语法。善用CSS语法能使你的页面丰富多彩。




  • 已经学过基本的CSS语法,但不熟悉Sigma-9版式与Wikidot页面的各种特性。
  • 没有学过基本的CSS语法,但打算来抄代码。




  • 首先,建立一个沙盒页。现在还不需要开始设计版式的展示页面,只需要放上基础的[[module CSS]]就好。我们接下来会往里面填代码。
[[module CSS]]

  • 谷歌字体或者EtinjatEtinjat字体收集上翻翻有没有好看的字体,即使正文不换字体,标题也还是可以发挥的。挑好字体后使用@import方式放进版式代码。
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300;400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@300;400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@300;400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@300;400;700;900&display=swap');
  • 如果希望用变量控制版式,先放上根元素选择器,定几种默认颜色,以及几种基本字体,这样待会可以很方便地用上。
:root {
    --ac-one: 68, 95, 107;
    --ac-two: 127, 32, 0;
    --ac-one-light: 90, 160, 180;
    --ac-two-light: 206, 40, 0;
    --black: 12, 12, 12;
    --dark-grey: 64, 64, 64;
    --middle-grey: 127, 127, 127;
    --light-grey: 175, 175, 175;
    --very-light-grey: 210, 210, 210;
    --white: 245, 245, 245;
    --link-color: var(--ac-one-light);
    --link-color-np: var(--ac-two-light);
    --title-font: "Noto Serif SC", "Noto Serif", serif;
    --body-font: "Noto Sans SC", "Noto Sans", sans-serif;
    --mono-font: "Noto Sans Mono", monospace;






<div id="header">
    <div id="search-top-box" class="form-search">
    <div id="top-bar">
    <div id="login-status">
    <div id="header-extra-div-1">
    <div id="header-extra-div-2">
    <div id="header-extra-div-3">






div#container-wrap {
    background-image: url("<图片链接>");


div#container-wrap {
    background-image: linear-gradient(to bottom, #593781, #593781),
                          /* ↑这个用来做最上面的背景 */
                      linear-gradient(to bottom, #999, #444, #999),
                          /* ↑这个用来做导航栏的背景 */
                      linear-gradient(to bottom, black, black, black, transparent);
                          /* ↑这个用来做导航栏后的阴影 */
    background-size: 100% 140px, 100% 21px, 100% 180px;
    background-position: center top, center 140px, center top;
    background-repeat: repeat-x;


    --header-height: 140px;
    --topbar-height: 21px;
    --bodyshadow-height: 20px;
    --header-gradient: to bottom, rgba(var(--ac-two), 0.3) 5%, rgb(var(--white)) 5%, rgb(var(--white)) 95%, rgba(var(--ac-one), 0.3) 95%;
    --topbar-gradient: rgb(var(--ac-one)) 0, rgb(var(--ac-one)) 100%;
    --body-gradient: rgba(var(--black), 0.1) 0, transparent 100%;
div#container-wrap {
    background-image: linear-gradient(var(--header-gradient)), linear-gradient(var(--topbar-gradient)), linear-gradient(var(--body-gradient));
    background-size: 100% var(--header-height), 100% var(--topbar-height), 100% var(--bodyshadow-height);
    background-position: center top, center var(--header-height), center calc(var(--header-height) + var(--topbar-height));
    background-repeat: repeat-x;



#header {
    background-image: url('<图片链接>');



CC BY-SA 114514.810