settings
プロジェクト全体に適用される css
Scrapbox の custom css で、アクセス制限のある page を作る
2023-01-08
code:style.css
/* ?? で始まるページをページ一覧画面から消す */
.grid-style-itemdata-page-title="settings",
.grid-style-itemdata-page-title^="??",
.page-list-itemdata-page-title^="??" {
display: none;
}
/* 文中にある ?? を含む page-link を消す */
.page-linkhref*="%3F%3F" { display: none; }
↓ここには [?? テスト] があるけどゲストからは見えない
?? テスト
↑ここには [?? テスト] があるけどゲストからは見えない
/scrasobox/コードの行番号を表示する
2025-09-20
code:style.css
/* コード記法の行番号を表示 -- ウィンドウ幅768px以上で適用 */
@media screen and (min-width: 768px) {
.section-title, .code-block-start { counter-reset: codeline }
.code-block code > span:not(class) { counter-increment: codeline }
.code-block code > span:not(class)::before {
content: counter(codeline);
position: absolute; display: inline-block; left: -4em; z-index: 10;
min-width: 50px; text-align: right; vertical-align: bottom;
/* ↓行番号のフォントとか色とかの指定はここ */
font-family: monospace; color: grey }
/* カーソル行の行番号を濃く表示する */
.code-block code > span:not(class)::before { opacity: .5 }
.cursor-line .code-block code > span:not(class)::before { opacity: 1; font-weight: bolder } }
普段は1行分のタイトルだけ見せて、hover すると全部見えるようにする UserCSS
2026-03-31
code:style.css
/* hover div を消す */
.grid li.page-list-item a .hover {
display: none
}
.grid li.page-list-item a .title {
line-height: 1.2;
max-height: calc(1.2em * 1); /* 1行分 */
overflow: hidden;
text-overflow: clip;
white-space: nowrap;
-webkit-mask-image: linear-gradient(to right, black 80%, transparent);
mask-image: linear-gradient(to right, black 80%, transparent);
}
.grid li.page-list-item a .header:hover .title,
.grid li.page-list-item a .header:focus .title,
.grid li.page-list-item a .header:focus-within .title,
.grid li.page-list-item a .header:active .title {
max-height: 100%;
white-space: normal;
mask-image: unset;
}
project root で icon がある page 以外を高さ半分で表示する UserCSS
2026-03-31
code:style.css
#app-container > div.app > div.container {
max-width: 1500px;
}
#app-container > div.app > div.container > div.page-list > ul.grid {
/* original は repeat(auto-fill, minmax(147px, 1fr)) */
/* 4倍細かい grid を使う。3:4 みたいな比率が使える */
grid-template-columns: repeat(auto-fit, minmax(36.75px, max-content));
/* ちょっと狭めに表示 */
gap: clamp(8px, 1.5vw, 12px);
/* 中央寄せ風 */
justify-content: center;
li {
grid-row: span 2;
grid-column: span 4;
aspect-ratio: 2/1;
}
li.image {
grid-row: span 4;
grid-column: span 4;
aspect-ratio: 1/1.1;
}
}
page の左下だけ角丸して優しい感じにする UserCSS
2026-03-31
code:style.css
ul.grid li.page-list-item a, li.grid-style-item a {
border-radius: 0 0 0 8px;
.icon {
border-radius: 2px 2px 2px 6px;
}
}
prefers-color-scheme 使いたい
project settings で default project theme こと light にしている。
この CustomCSS は prefers-color-scheme: dark なら data-project-theme="default" の各種色を default-dark のスキーマで上書きする
source から持ってきたけど brand-color と navbar-title-color は見当たらなかったので #fff を当てている。
code:style.css
@media(prefers-color-scheme: dark){
@media screen {
htmldata-project-theme="default" code.highlight {
color: #ccc;
}
htmldata-project-theme="default" code.highlight .hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: #fdf6e3;
color: #657b83;
}
htmldata-project-theme="default" code.highlight .hljs-comment,
htmldata-project-theme="default" code.highlight .hljs-quote {
color: #93a1a1;
}
htmldata-project-theme="default" code.highlight .hljs-keyword,
htmldata-project-theme="default" code.highlight .hljs-selector-tag,
htmldata-project-theme="default" code.highlight .hljs-addition {
color: #859900;
}
htmldata-project-theme="default" code.highlight .hljs-number,
htmldata-project-theme="default" code.highlight .hljs-string,
htmldata-project-theme="default"
code.highlight
.hljs-meta
.hljs-meta-string,
htmldata-project-theme="default" code.highlight .hljs-literal,
htmldata-project-theme="default" code.highlight .hljs-doctag,
htmldata-project-theme="default" code.highlight .hljs-regexp {
color: #2aa198;
}
htmldata-project-theme="default" code.highlight .hljs-title,
htmldata-project-theme="default" code.highlight .hljs-section,
htmldata-project-theme="default" code.highlight .hljs-name,
htmldata-project-theme="default" code.highlight .hljs-selector-id,
htmldata-project-theme="default" code.highlight .hljs-selector-class {
color: #268bd2;
}
htmldata-project-theme="default" code.highlight .hljs-attribute,
htmldata-project-theme="default" code.highlight .hljs-attr,
htmldata-project-theme="default" code.highlight .hljs-variable,
htmldata-project-theme="default"
code.highlight
.hljs-template-variable,
htmldata-project-theme="default"
code.highlight
.hljs-class
.hljs-title,
htmldata-project-theme="default" code.highlight .hljs-type {
color: #b58900;
}
htmldata-project-theme="default" code.highlight .hljs-symbol,
htmldata-project-theme="default" code.highlight .hljs-bullet,
htmldata-project-theme="default" code.highlight .hljs-subst,
htmldata-project-theme="default" code.highlight .hljs-meta,
htmldata-project-theme="default"
code.highlight
.hljs-meta
.hljs-keyword,
htmldata-project-theme="default" code.highlight .hljs-selector-attr,
htmldata-project-theme="default" code.highlight .hljs-selector-pseudo,
htmldata-project-theme="default" code.highlight .hljs-link {
color: #cb4b16;
}
htmldata-project-theme="default" code.highlight .hljs-built_in,
htmldata-project-theme="default" code.highlight .hljs-deletion {
color: #dc322f;
}
htmldata-project-theme="default" code.highlight .hljs-strong {
font-weight: bold;
}
htmldata-project-theme="default" {
--body-bg: #202228;
--brand-icon-color: #fff;
--brand-icon-y-first-stop-opacity: 0.3;
--brand-icon-y-last-stop-opacity: 0.6;
--brand-icon-x-first-stop-opacity: 0.2;
--brand-icon-x-last-stop-opacity: 0.3;
--navbar-bg: rgba(55, 59, 68, 0.5);
--navbar-title-color: #fff;
--navbar-icon-color: #fff;
--navbar-icon-active-color: #338c46;
--navbar-icon-hovered-color: #338c46;
--search-form-bg: rgba(255, 255, 255, 0.13);
--search-form-icon-color: #fff;
--search-form-icon-focus-color: #4a4a4a;
--2hop-search-bg: rgba(255, 255, 255, 0.15);
--card-title-color: #f0f0f0;
--card-title-bg: #2b2e38;
--card-bg: #373b44;
--card-hover-bg: rgba(0, 0, 0, 0.1);
--card-active-bg: rgba(229, 229, 229, 0.1);
--card-backside: #545860;
--card-description-color: #c4c4c4;
--card-description-link-color: #80c9fe;
--card-description-code-color: #ccc;
--card-box-shadow-color: #000;
--card-box-shadow: 0 2px 0 var(--card-box-shadow-color);
--card-box-hover-shadow: 0 2px 0 rgba(0, 0, 0, 0.23);
--card-title-bg-pinned: #2b2e38;
--relation-label-bg: #2b2e38;
--relation-label-text: #dddede;
--relation-label-links-bg: #80c9fe;
--relation-label-links-text: #202228;
--relation-label-empty-bg: #fb7476;
--relation-label-empty-text: #fff;
--tool-color: #535863;
--tool-light-color: #353b48;
--tool-badge-bg: #2b2e38;
--tool-bg: #2b2e38;
--tool-text-color: #dddede;
--new-button-vertical-color: #fff;
--new-button-horizontal-color: #fff;
--new-button-bg: hsl(227 51% 56% / 1);
--new-button-hover-bg: hsl(227 51% 50% / 1);
--new-button-active-bg: hsl(227 51% 45% / 1);
--telomere-border: #545863;
--page-text-color: rgba(255, 255, 255, 0.87);
--page-link-color: #80c9fe;
--page-link-hover-color: #6a9ec6;
--page-link-color-cursor-line: #a985e4;
--page-bg: #373b44;
--empty-page-link-color: #fb7476;
--empty-page-link-hover-color: #b47576;
--line-title-color: rgba(255, 255, 255, 0.87);
--line-permalink-color: rgba(234, 218, 74, 0.35);
--code-color: #ccc;
--code-bg: rgba(0, 0, 0, 0.18);
--quote-bg-color: rgba(0, 0, 0, 0.2);
--page-image-loading-border-color: #555;
--cursor-color: #fff;
}
}
}
@media(prefers-color-scheme: light){
body{
}
}