:root { --lh-red: #c0392b; --lh-blue: #2980b9; --lh-green: #27ae60; --lh-dark-green: #16a085; --lh-purple: #8e44ad; --lh-orange: #e67e22; --lh-yellow: #f1c40f; --lh-paper-bg: 255, 251, 240; --lh-string-color: 192, 57, 43; --lh-book-color: var(--gray-monochrome); --lh-tape-color: 90,90,90,0.3; --lh-white-bg: 249,249,249; --lh-dark-bg: 50, 50, 50; --lh-highlighter: var(--bright-accent); --lh-border-color: var(--gray-monochrome); --lh-wiki-note-color: var(--bright-accent) } /** * 旧代码合集 * 为了向下兼容而保留 */ .grid-container{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.grid-container,.grid-container [class*=grid]{box-sizing:border-box}[class*=grid]{padding:5px}.grid{width:100%}.grid-large{width:75%}.grid-big{width:50%}.grid-medium{width:33.33%}.grid-small{width:25%}@media screen and (min-width:768px){.wd-grid-large{width:75%}.wd-grid,.wd-grid-big{width:50%}.wd-grid-medium{width:33.33%}.wd-grid-small{width:25%}}.text-hover-hide{opacity:0;transition:opacity .3s}.text-hover-hide:hover{opacity:1}.text-block-hide{background:rgb(var(--black-monochrome));color:rgb(var(--black-monochrome));transition:background .3s}.text-block-hide:hover{background:0 0}.text-blur-hide,.text-blur-hover-hide{filter:blur(.3rem);-webkit-filter:blur(.3rem) transition: blur .3s}.text-blur-hover-hide:hover{filter:blur(0);-webkit-filter:blur(0)}.lyric-box{text-align:center;font-size:1.05rem;display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center}.lyric-box p{margin:1.5em auto}.lyric-box.with-bigger-line p{margin:3em auto} /** * 便签纸 * notepaper */ .notepaper { background: linear-gradient(rgb(var(--lh-paper-bg)) 95%, #ddd 0); line-height: 2em; background-size: 100% 2em; background-attachment: local; border: 2em solid rgb(var(--lh-paper-bg)); box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.2); padding: 0; margin: 1em auto; box-sizing: border-box; position: relative } .notepaper p { margin: 0; font-size: 1.05rem; letter-spacing: 0.1rem; line-height: inherit } .notepaper.narrow, .notepaper.wide { width: 90% } @media screen and (min-width:768px){ .notepaper.narrow { width: 50% } .notepaper.wide { width: 75% } } .notepaper.tight { border-width: 1rem; border-left-width: 1.2rem; border-right-width: 1.2rem; line-height: 1.8em; background-size: 100% 1.8em; font-size: 13px } .notepaper.with-string::before { content: ''; width: 0.5em; height: 6rem; background: rgb(var(--lh-string-color)); top: -2rem; right: -1rem; display: block; position: absolute; box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2); clip-path: polygon(-100% -100%,100% 0%,100% 100%,50% 98%,0% 100%); } .notepaper.with-tape::before { content: ''; border: 1px solid #ddd; background: rgba(var(--lh-tape-color)); width: 1.5em; height: 4em; transform: rotate(45deg); display: block; position: absolute; top: -3em; left: -1.8em } .notepaper.tight.with-string::before { top: -1rem; right: -0.25rem; } .notepaper.tight.with-tape::before { top: -2.5em; left: -1.3em } .notepaper.page { min-height: 36em; counter-increment: page; display: flex; flex-direction: column; justify-content: space-between } @media screen and (min-width:768px){ .notepaper.page { width: 70% } } .notepaper.page:after { content: counter(page); display: block; text-align: center } .notepaper-group { counter-reset: page; } .book-pattern { display: flex; flex-wrap: wrap; flex-direction: row } .book-pattern .notepaper.page:not(.notepaper > .notepaper) { width: 100% } @media screen and (min-width: 768px) { .book-pattern .notepaper.page:not(.notepaper > .notepaper) { width: 50% } } .book-wrapper { background: rgb(var(--lh-book-color)); padding: 0.5rem; box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.2); border-radius: 5px; margin: 1rem auto } @media screen and (min-width: 768px) { .book-wrapper .notepaper { margin: 0 } } /** * 文字修饰 */ .text-highlighted { position: relative } .text-highlighted::before { content: ""; position: absolute; height: 0.9em; bottom: 2px; left: -2px; width: 105%; z-index: -1; background-color: rgb(var(--lh-highlighter)); opacity: .6; transform: skew(-15deg); transition: opacity .2s ease; border-radius: 3px 8px 10px 6px; transition: 0.1s ease background-color; } .text-underlined { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; text-decoration-color: rgb(var(--lh-highlighter)) } .text-wavy { text-decoration: underline wavy; text-underline-offset: 4px; text-decoration-color: rgb(var(--lh-highlighter)) } .text-circled, .text-squared { display: inline-block; border: 2px solid rgb(var(--lh-highlighter)); border-radius: 100%; box-sizing: border-box } .text-squared { border-radius: 0 } .text-shadow { text-shadow: 0.075em 0.075em 0 rgb(var(--lh-highlighter)) } .text-highlighted.td-red::before { background: var(--lh-red) } .text-circled.td-red, .text-squared.td-red { border-color: var(--lh-red) } .text-underlined.td-red, .text-wavy.td-red { text-decoration-color: var(--lh-red) } .text-highlighted.td-blue::before { background: var(--lh-blue) } .text-circled.td-blue, .text-squared.td-blue { border-color: var(--lh-blue) } .text-underlined.td-blue, .text-wavy.td-blue { text-decoration-color: var(--lh-blue) } .text-highlighted.td-green::before { background: var(--lh-green) } .text-circled.td-green, .text-squared.td-green { border-color: var(--lh-green) } .text-underlined.td-green, .text-wavy.td-green { text-decoration-color: var(--lh-green) } .text-highlighted.td-darkgreen::before { background: var(--lh-dark-green) } .text-circled.td-darkgreen, .text-squared.td-darkgreen { border-color: var(--lh-dark-green) } .text-underlined.td-darkgreen, .text-wavy.td-darkgreen { text-decoration-color: var(--lh-dark-green) } .text-highlighted.td-purple::before { background: var(--lh-purple) } .text-circled.td-purple, .text-squared.td-purple { border-color: var(--lh-purple) } .text-underlined.td-purple, .text-wavy.td-purple { text-decoration-color: var(--lh-purple) } .text-highlighted.td-yellow::before { background: var(--lh-yellow) } .text-circled.td-yellow, .text-squared.td-yellow { border-color: var(--lh-yellow) } .text-underlined.td-yellow, .text-wavy.td-yellow { text-decoration-color: var(--lh-yellow) } .text-highlighted.td-orange::before { background: var(--lh-orange) } .text-circled.td-orange, .text-squared.td-orange { border-color: var(--lh-orange) } .text-underlined.td-orange, .text-wavy.td-orange { text-decoration-color: var(--lh-orange) } /* 隐藏文字 */ .text-blank { color: rgba(0,0,0,0) } .text-block { background: rgb(var(--black-monochrome)); color: rgb(var(--black-monochrome)); } .text-blur { filter: blur(0.3em); -webkit-filter: blur(0.3em) } .text-hoverback, .text-selectback { transition-duration: 0.3s; transition-property: background, transform, color } .text-blank.text-hoverback:hover, .text-blank.text-selectback::selection, .text-blank.text-selectback *::selection { color: rgb(var(--black-monochrome)) } .text-block.text-hoverback:hover { background: transparent!important } .text-block.text-selectback::selection, .text-block.text-selectback *::selection { color: rgb(var(--white-monochrome, 255, 255, 255)) } .text-blur.text-hoverback:hover { filter: blur(0)!important; -webkit-filter: blur(0)!important } /** * 附加项 */ .with-border, .with-box-style { border: 1px solid rgb(var(--bright-accent)) } .with-border-dark { border: 1px solid rgb(var(--black-monochrome)) } .with-border-light { border: 1px solid rgb(var(--white-monochrome)) } .with-border-thick { border-width: 2px } .with-shadow-sm { box-shadow: 0 0 0.1em rgba(0,0,0,0.2) } .with-shadow { box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2) } .with-shadow-lg { box-shadow: 0 0.15em 0.3em rgba(0,0,0,0.2) } .with-shadow-xl { box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.2) } .with-shadow-xxl { box-shadow: 0 0.25em 0.8em rgba(0,0,0,0.2) } .with-padding, .with-box-style { padding: 0.25em 1em } .with-p-sm { padding: 0.125em 0.5em } .with-p-lg { padding: 0.5em 2em } .with-margin, .with-box-style { margin: 1em auto } .with-m-sm { margin: 0.5em auto } .with-m-lg { margin: 2em auto } .with-narrow-width { width: 90%!important; margin-left: auto; margin-right: auto } @media screen and (min-width: 768px) { .with-narrow-width { width: 75%!important } } [class*="with-bg-"], [class*="with-bg-"] h1 { color: #fff!important } .with-bg-red { background: var(--lh-red)!important } .with-bg-blue { background: var(--lh-blue)!important } .with-bg-green { background: var(--lh-green)!important } .with-bg-darkgreen { background: var(--lh-dark-green)!important } .with-bg-yellow { background: var(--lh-yellow)!important } .with-bg-orange { background: var(--lh-orange)!important } .with-bg-purple { background: var(--lh-purple)!important } /** * 删除类 */ .offwith-shadow { box-shadow: none!important } .offwith-border { border: none!important } .offwith-padding, .offwith-pam { padding: 0!important } .offwith-margin, .offwith-pam { margin: 0!important } .offwith-width-limit { width: auto!important; margin-left: auto!important; margin-right: auto!important } div[class*="grider"].offwith-grid-gap { grid-gap: 0!important } /** * 网格布局 */ /* Gridder 容器 */ div[class*="gridder"] { display: grid; box-sizing: border-box; grid-gap: 1rem; padding: 0 } div[class*="gridder"] * { box-sizing: border-box } .gridder, .gridder-col-2 { grid-template-columns: 1fr 1fr; } .gridder-col-3 { grid-template-columns: repeat(3, 1fr); } .gridder-col-4 { grid-template-columns: repeat(4, 1fr); } @media screen and (min-width: 768px) { .pc-gridder, .pc-gridder-col-2 { grid-template-columns: 1fr 1fr; } .pc-gridder-col-3 { grid-template-columns: repeat(3, 1fr); } .pc-gridder-col-4 { grid-template-columns: repeat(4, 1fr); } } .spanner, .spanner-2 { grid-column-start: span 2; } .spanner-3 { grid-column-start: span 3; } /** * 告示组件 */ .signblock, .signblock-dark, .signblock-warn { margin: 1rem auto; box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.4); background: rgb(var(--lh-white-bg)); font-size: 1.05rem; padding: 2rem } @media screen and (min-width: 768px) { .signblock, .signblock-dark, .signblock-warn { width: 75% } } .signblock-dark, .signblock-dark h1 { background: rgb(var(--lh-dark-bg)); color: #fff } .signblock-warn, .signblock-warn h1 { background: var(--lh-red); color: #fff } .signblock h1, .signblock-dark h1, .signblock-warn h1 { text-align: center; font-size: 2rem; margin: 0; font-weight: 700 } .signblock-img { display: flex; flex-direction: row; justify-content: center } .signblock-img img { width: 8em } .signblock-footer { font-size: 0.9em; text-align: center; margin: 0.5rem 0; font-weight: bolder; display: block } /** * 报告 */ .reportblock, .reportblock-dark { border: 2px solid rgb(var(--lh-border-color)); box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3); background: rgb(var(--white-monochrome)); padding: 0.8rem 1.5rem; padding-bottom: 0.4rem; margin: 1.5rem auto; margin-bottom: 1rem; position: relative } .reportblock hr, .reportblock-dark hr { background-color: rgb(var(--lh-border-color)); margin-left: -1.5rem; margin-right: -1.5rem } .reportblock h1:first-child, .reportblock-dark h1:first-child { position: absolute; top: -1rem; left: 1.5rem; font-size: 110%; font-weight: 600; background: rgb(var(--lh-border-color)); color: #fff; padding: 0.2rem 0.5rem; margin: 0; } .reportblock-dark, .reportblock-dark h1 { border-color: rgb(var(--lh-white-bg)); background: rgb(var(--lh-dark-bg)); color: #fff } .reportblock-dark hr { background-color: rgb(var(--lh-white-bg)); } /* 更好的折叠框 */ .bettercollap { margin: 1em 0; } .bettercollap .collapsible-block { width: auto; overflow: hidden; border: 1px solid rgb(var(--lh-border-color)) } .bettercollap .collapsible-block-content, .bettercollap .collapsible-block-link { background: rgb(var(--white-monochrome)); padding: 0.5em } .bettercollap .collapsible-block-content { padding-left: 1em; padding-right: 1em } .bettercollap .collapsible-block-link { color: rgb(var(--lh-border-color)); background: rgb(var(--white-monochrome)); transition: .3s; display: block; } .bettercollap .collapsible-block-link:hover, .bettercollap .collapsible-block-unfolded .collapsible-block-link, .styledcollap.bettercollap .collapsible-block-link { color: rgb(var(--white-monochrome)); background: rgb(var(--lh-border-color))!important; text-decoration: none } .bettercollap .collapsible-block-link:hover a { color: rgb(var(--white-monochrome)) } .bettercollap .collapsible-block-link::before { content: "\25BC"; display: inline-block; margin-right: 0.5em; transform: rotate(-90deg) scale(0.9) } .bettercollap .collapsible-block-unfolded .collapsible-block-link::before { transform: rotate(0) scale(0.9) } .bettercollap .collapsible-block + .collapsible-block { border-top: none } .styledcollap.bettercollap .collapsible-block { border-radius: 2px; box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3) } .styledcollap.bettercollap .collapsible-block-content { background-color: rgb(var(--pale-gray-monochrome)); border-width: 3px } .styledcollap.bettercollap .collapsible-block-link:hover { background: rgba(var(--lh-border-color),0.95)!important; } /** * 提示框 */ .infoblock { color: #f1f1f1; font-weight: bold; background: #424242; padding: 5px 5px 5px 5px; border-radius: 4px; margin: -0.5rem 0 1rem 0; display: block; width: fit-content; padding-right: 25px; } .infoblock::before { content: "ⓘ " } /** * 单页迭代 */ .offset-page:not(:target), .offset-page:target ~ div#u-default-page { display: none } .offset-page:target { display: block }
@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@400..900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap"); :root { --header-font: Orbitron, Inter, "Noto Sans SC", "Noto Sans TC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif; --title-font: Lexend, Inter, "Noto Sans SC", "Noto Sans TC", Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif; --mono-font: "JetBrains Mono", "Noto Sans SC", "Noto Sans TC", Consolas, monaco, monospace; --header-title-font-size: min(calc(1.6rem + 1.5vw), 3rem); --header-subtitle-font-size: min(calc(0.6rem + 0.45vw), 1rem); --header-title-font-size-on-mobile: var(--header-title-font-size); --header-subtitle-font-size-on-mobile: var(--header-subtitle-font-size); --sidebar-width: 16rem; --logo-image: url("https://fastly.jsdelivr.net/gh/bleuboat/br@main/images/future_light.svg"); --white-color: 252, 252, 252; --black-color: 35, 35, 38; --accent-color: 24, 80, 187; --background-color: var(--white-color); --text-color: var(--black-color); --light-color-1: var(--white-color); --light-color-2: var(--white-color); --dark-color-1: var(--accent-color); --dark-color-2: var(--accent-color); --dark-color-3: var(--accent-color); --dark-color-4: var(--accent-color); --neutral-color: 170, 170, 170; --link-color: var(--accent-color); --hover-link-color: var(--link-color), 0.6; --visited-link-color: var(--link-color); --selected-background-color: var(--general-dark-background-color); --selected-text-color: var(--general-dark-text-color); --scrollbar-color: var(--accent-color); --scrollbar-background-color: var(--white-color); --general-medium-background-color: var(--general-dark-background-color); --general-medium-text-color: var(--general-dark-text-color); --general-medium-border-color: var(--accent-color); --general-strong-border-color: var(--accent-color); --general-button-text-color: var(--accent-color); --general-button-background-color: var(--white-color); --general-blur: 0; --header-background-bottom: var(--white-color); --header-background-top: var(--white-color); --header-extra-background-image: none; --header-text-color: var(--black-color); --topbar-text-color: var(--accent-color); --topbar-hover-text-color: var(--general-dark-text-color); --topbar-hover-background-color: var(--general-dark-background-color); --topbar-hover-border-color: 0, 0, 0, 0; --topbar-drop-text-color: var(--accent-color); --topbar-drop-background-color: var(--white-color); --topbar-drop-hover-text-color: var(--general-dark-text-color); --topbar-drop-hover-background-color: var(--general-dark-background-color); --topbar-drop-border-color: var(--accent-color); --topbar-drop-border-width: 0.15rem; --topbar-drop-shadow-color: 0, 0, 0, 0; --account-button-text-color: var(--general-button-text-color); --account-button-background-color: var(--general-button-background-color); --account-button-hover-text-color: var(--general-hover-button-text-color); --account-button-hover-background-color: var(--general-hover-button-background-color); --account-drop-text-color: var(--accent-color); --page-tag-text-color: var(--link-color); --page-tag-hover-text-color: var(--hover-link-color); --page-tag-background-color: 0, 0, 0, 0; --page-tag-hover-background-color: 0, 0, 0, 0; --page-option-background-color: 0, 0, 0, 0; --license-link-color: var(--link-color); --sidebar-media-background-color: 0, 0, 0, 0; --sidebar-title-background-color: 0, 0, 0, 0; --sidebar-title-text-color: var(--black-color); --sidebar-title-shadow-color: 0, 0, 0, 0; --sidebar-text-color: var(--accent-color); --sidebar-hover-text-color: var(--general-dark-text-color); --sidebar-hover-background-color: var(--general-dark-background-color); --sidebar-border-color: var(--accent-color); --action-area-info-background-color: var(--white-color); --action-area-info-text-color: var(--accent-color); --edit-area-background-color: var(--white-color); --tabview-horizon-color: var(--accent-color); --tabview-content-background-color: var(--white-color); --note-background-color: var(--white-color); --note-text-color: var(--black-color); --note-border-color: var(--accent-color); --footnote-block-background-color: var(--white-color); --dark-styled-quote-border-color: var(--black-color), 0.5; --thread-accent-color: var(--white-color); } body, html { -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scrollbar-width: thin; } ::-webkit-scrollbar { width: 0.5rem; height: 0.5rem; } ::-webkit-scrollbar-track { background: rgba(var(--scrollbar-background-color)); } ::-webkit-scrollbar-thumb { background: rgba(var(--scrollbar-color)); } a:is(:hover, :active, :focus, :focus-within) { -webkit-text-decoration: underline 0.1em; } #side-bar .menu-item a { transition: background var(--general-transition-time-fast); } #file-comments { padding: 0.2em 0.5em; } table.page-files .highlight { background: rgba(var(--action-area-border-color)) } .pager a, .pager .current, .pager .dots { transition: background var(--general-transition-time-slow), color var(--general-transition-time-slow); } #action-area h1 + p + h2 ~ div[style="padding-left:3em;"] > div { align-items: center; } #edit-meta-newtag-form > table { display: flex; align-items: center; } #edit-meta-newtag-form > table :is(tbody, tr) { display: contents; } #edit-meta-newtag-form > table td { display: block; } #edit-meta-newtag-form > table td:nth-child(2n) { flex: 1; } #edit-meta-newtag-form > table td input { width: 100%; box-sizing: border-box; border: none; background: rgba(var(--edit-area-textarea-background-color)); color: rgba(var(--edit-area-textarea-text-color)); padding: 0.2em 0.5em; margin: 0; outline: none; transition: box-shadow var(--general-transition-time-slow); font-weight: 500; } #edit-meta-newtag-form > table td input:focus-visible { box-shadow: 2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px 2px 0 rgba(var(--edit-area-textarea-border-color)), -2px -2px 0 rgba(var(--edit-area-textarea-border-color)), 2px -2px 0 rgba(var(--edit-area-textarea-border-color)); } #edit-meta-newtag-form > div { margin: 1rem 0; padding: 0 !important; display: flex; grid-gap: 1rem; } hr { background: transparent; } [class|=colmod-link] { margin: 1rem 0; } .yui-navset .yui-nav li a, .yui-navset .yui-nav li.selected a { transition: color var(--general-transition-time-slow); } .hl-default, .hl-code, .hl-brackets, .hl-identifier { color: inherit; } #toc #toc-action-bar { top: 0.25rem; } :where(ol ul, ul ul) { list-style-type: circle; } .join-box a { color: rgba(var(--general-button-text-color)); background: rgba(var(--general-button-background-color)); } .join-box a:is(:hover, :active, :focus, :focus-within) { color: rgba(var(--general-hover-button-text-color)); background: rgba(var(--general-hover-button-background-color)); } .forum-thread-box .description-block { padding: 0.5em 1em; } .thread-container .post .long { padding: 0.5em; } #page-content > div.forum-thread-box > div.options, .post-container > .post > div.long > div.options { display: flex; justify-content: flex-end; } .signature { display: none; } .notepaper { max-width: 100%; } .bettercollap .collapsible-block-unfolded-link, .bettercollap .collapsible-block-folded { margin: 0; } @media (pointer: coarse) { #login-status #account-options:hover, #login-status #account-topbutton:hover + #account-options { opacity: 1; pointer-events: all; } } @media only screen and (max-width: 1024px) { :where(#main-content) [id] { scroll-margin-top: var(--topbar-height-on-mobile); } } a:is(:hover, :active, :focus, :focus-within) { text-decoration: none; } h1, h2, h3, h4, h5, h6 { color: inherit; } a#account-topbutton, #search-top-box-form .button, #edit-page-title, #edit-page-textarea, #edit-page-comments, #new-post-div input.text, #new-post-div textarea#np-text, #lock-info, .change-textarea-size a, div.buttons input, input.button, button, file, a.button, table.form td input, .new-page-box form input.text, #file-comments, .page-options-bottom a, .owindow .button-bar > a:not([onclick*=cleanAll]), .owindow div[style*=margin-top] a, .join-box a, .button-collap .collapsible-block-link, .button-collap [class|=colmod-link] a { border: solid 0.15rem rgba(var(--accent-color)); box-sizing: border-box; } table.wiki-content-table th, .darkblock, .dark-styled-quote { --page-title-text-color: var(--general-dark-text-color); --page-title-border-color: var(--general-dark-text-color); --hr-color: var(--general-dark-text-color); } .warnblock { --accent-color: var(--warning-text-color); --page-title-text-color: var(--warning-text-color); --page-title-border-color: var(--warning-text-color); --hr-color: var(--accent-color); } #header h1 a span { padding-top: 1rem; text-shadow: none; line-height: 1.2; } #header h1 a span::after { letter-spacing: 0.25em; } #header h2 { top: 0.5rem; } #top-bar { border-top: 0.15rem rgba(var(--accent-color)) solid; border-bottom: 0.15rem rgba(var(--accent-color)) solid; } #top-bar div[class*=top-bar] > ul > li > ul { border: solid var(--topbar-drop-border-width) rgba(var(--topbar-drop-border-color)); } #top-bar div[class*=top-bar] > ul > li > ul > li, #top-bar div[class*=top-bar] > ul > li > ul > li > ul > li { border: none; } #login-status > a > strong { color: rgba(var(--warning-color)); } a#my-account { color: rgba(var(--link-color)); } a#my-account:is(:hover, :active, :focus, :focus-within) { color: rgba(var(--hover-link-color)); } #page-title, .meta-title { display: flex; align-items: center; border-bottom: none; padding: 0; } #page-title::before, #page-title::after, .meta-title::before, .meta-title::after { content: ""; flex-grow: 1; height: 0.15rem; background-color: rgba(var(--accent-color)); } #page-title::before, .meta-title::before { margin-right: 1rem; } #page-title::after, .meta-title::after { margin-left: 1rem; } .page-tags::before { border-radius: 0.25rem 0.25rem 0 0; } .page-tags span { grid-gap: 0.8rem; padding-left: 0.3rem; } .page-tags span a { transition: color 0.15s; padding: 0; } .page-watch-options a:hover { text-decoration: none; } div[id*=page-options-bottom] > a { border: none; } #side-bar .side-block.media { border-bottom: solid 0.1333333333rem rgba(var(--sidebar-border-color)); } #side-bar .heading, #side-bar .collapsible-block-unfolded-link a, #side-bar .collapsible-block-folded a { justify-content: space-between; padding: 0 1em; margin-top: 0.9rem; font-size: 0.9rem; } #side-bar a.collapsible-block-link::before { display: none; } #side-bar a.collapsible-block-link::after { color: rgba(var(--accent-color)); } #side-bar .menu-item a { border-left: none; } .edit-help-34 { font-size: 0.8rem; } .edit-help-34 a { margin: 0; padding: 0; color: rgba(var(--link-color)); background: transparent; transition: color 0.15s; } .edit-help-34 a:is(:hover, :active, :focus, :focus-within) { color: rgba(var(--hover-link-color)); background: transparent; } #lock-info { padding: 1em; } a.action-area-close, #view-diff-div > p > a { background: transparent; } .pager a { transition: color 0.15s; } .pager a:is(:hover, :active, :focus, :focus-within) { color: rgba(var(--accent-color)); background: transparent; } #action-area > h1 + h2 + ul, #action-area > h1 + h2 ~ h2 ~ ul { margin: 0; } #action-area > h1 + h2 + ul li a, #action-area > h1 + h2 ~ h2 ~ ul li a { color: rgba(var(--link-color)); } .page-source { border: rgba(var(--accent-color)) dashed 0.15rem; } .yui-navset .yui-nav { box-shadow: 0 0.15rem 0 rgba(var(--tabview-horizon-color)); } .hl-main * { color: inherit; } .hl-comment, .hl-var, .hl-number { color: rgba(var(--accept-color)); } .hl-quotes, .hl-string, .hl-inlinedoc, .hl-url, .hl-builtin, .hl-reserved, .hl-special, .hl-inlinetags { color: rgba(var(--accent-color)); } :where(ol ul, ul ul) { list-style-type: circle; } div.wiki-note { font-weight: inherit; border: rgba(var(--note-border-color)) dashed 0.15rem; padding: 0.5rem 1rem; } .footnotes-footer, .bibitems { border: rgba(var(--footnote-block-border-color)) solid 0.15rem; border-left-width: 0.4rem; } .owindow .content > img + h1 + table, .owindow .content > img + h1 + table td { border-color: rgba(var(--accent-color), 0.18); } div.creditBottomRate { border-color: rgba(var(--accent-color)); } .lightblock { border: rgba(var(--accent-color)) solid 0.15rem; } .styled-quote { border: rgba(var(--styled-quote-border-color)) solid 0.15rem; border-left-width: 0.6rem; } .keycap { box-shadow: 0 0.125em 0 0.05em rgba(var(--accent-color)); } .licensebox a.collapsible-block-link { opacity: 1; color: rgba(var(--link-color)); transition: color 0.15s; } .licensebox a.collapsible-block-link:is(:hover, :active, :focus, :focus-within) { color: rgba(var(--hover-link-color)); } .sd-container { --sd-border: var(--black-color); --sd-symbol: var(--white-color); --sd-bullets: var(--black-color); --sd-text: var(--white-color); } .sd-container .top-box::before, .sd-container .header-diamond .diamond-pattern { display: none; } .warnblock { background: rgba(var(--warning-color)); color: rgba(var(--warning-text-color)); margin: 1rem 0; padding: 0.5rem 1rem; } .titleblock { background: rgba(var(--popup-background-color)); color: rgba(var(--popup-text-color)); border: rgba(var(--popup-border-color)) solid 0.15rem; margin: 1rem 0; padding: 0 1rem 0.5rem; } .titleblock > h1:first-child { background: rgba(var(--popup-title-background-color)); color: rgba(var(--popup-title-text-color)); padding: 0.5rem 1rem; margin: 0 -1rem 0.5rem; font-size: 1.25rem; } .accent { background: rgba(var(--general-dark-background-color)); color: rgba(var(--general-dark-text-color)); } .insert { background: rgba(var(--accept-color)); color: rgba(var(--accept-text-color)); } .delete { background: rgba(var(--warning-color)); color: rgba(var(--warning-text-color)); } .classic-title, .new-title { color: rgba(var(--page-title-text-color)); font-weight: 700; margin: 1rem 0; font-size: 2rem; font-family: var(--title-font); } .classic-title p, .new-title p { display: contents; } .classic-title { padding: 0 0 0.25rem; border-bottom: solid 0.15rem rgba(var(--page-title-border-color)); } .new-title { display: flex; align-items: center; } .new-title::after { content: ""; flex-grow: 1; height: 0.15rem; background-color: rgba(var(--accent-color)); margin-left: 1rem; } .button-collap .collapsible-block-link, .button-collap [class|=colmod-link] a { display: inline-block; padding: 0.5em; line-height: 1; color: rgba(var(--general-button-text-color)); background: rgba(var(--general-button-background-color)); transition: background var(--general-transition-time-fast); } .button-collap .collapsible-block-link:is(:hover, :active, :focus, :focus-within), .button-collap [class|=colmod-link] a:is(:hover, :active, :focus, :focus-within) { color: rgba(var(--general-hover-button-text-color)); background: rgba(var(--general-hover-button-background-color)); } .modal-collap li.unfolded > .colmod-link-end a { display: none; } .modal-collap li.unfolded > .colmod-link-top a:first-child { display: inline; } .modal-collap li.unfolded > .colmod-link-top a + a, .modal-collap li.unfolded > .colmod-content { display: flex; justify-content: center; align-items: center; position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: 10; } .modal-collap li.unfolded > .colmod-link-top a + a { font-size: 0; backdrop-filter: blur(var(--general-blur)); background: rgba(var(--popup-fader-color)); border: none; } .modal-collap li.unfolded > .colmod-content { pointer-events: none; } .modal-collap div.modalbox > div:last-child { padding: 0.5rem 1rem; margin: 0; max-height: 47.5vh; overflow-y: auto; height: auto; min-height: 5rem; background: transparent; } .modal-collap div.modalbox > div:last-child h2 { margin: 0.35em 0; font-size: 1.75em; color: inherit; } .modal-collap.button-collap li.unfolded > .colmod-link-top a:first-child { display: inline-block; } .warning { --popup-title-background-color: var(--warning-color); --popup-title-text-color: var(--warning-text-color); --popup-border-color: var(--warning-color); } @media only screen and (max-width: 1024px) { #search-top-box-form .button { background: rgba(var(--search-button-text-color)); } #top-bar div[class*=top-bar] > ul > li > ul > li:nth-child(2n):nth-last-child(2) { box-shadow: none; } }
其概念内涵与核心主张可大致分为以下几点
- 创作主权归写手所有:写手是作品的唯一创造者和最终解释者,有权决定作品的题材、风格、情节走向、人物命运、结局等一切要素,不受外部干预
- 个人表达优先于市场迎合:写作的首要目的是满足写手的自我表达、情感宣泄与创作快感,而非追求曝光量、订阅量、商业收益或读者好评
- 创作自由神圣不可侵犯:反对任何形式的外部束缚,包括平台规则、编辑修改建议、读者催更或情节干预等,认为这些都会损害作品的纯粹性与写手的创作热情
- “写什么”比“怎么写”更重要:强调内容的原创性与独特性,重视写手的个人经验、思想深度与艺术追求,而非一味遵循套路化、模式化的写作技巧
还有几种常见的观念
| 写手至上主义 | 强调“写手”这一更偏向职业/技能化的身份,突出创作过程的自主性与即时性,表现为拒绝催更、反对定制化写作、坚持个人风格 |
|---|---|
| 作者中心论 | 强调“作者”的文学性与思想性,更具精英化色彩,表现为注重作品的文学价值、思想深度与艺术成就 |
| 读者中心论 | 以读者需求为导向,作品成败由读者决定 |
为什么我今天会把这玩意拿出来说,因为写手至上主义对于共创圈子来说不是什么好东西,非常容易产生小团体1,甚至NA的某些人已经在践行写手至上了。
那为什么说某些人已经在践行写手至上?因为他们已经陷入自说自话的创作误区,丝毫不考虑作品的可读性与吸引力——创作自恋,甚至对站点的发展不闻不问,其他作者写的文章也不看,也不去学代码张口就是叫别人来做排版。
哦,这不叫“写手至上”,这是纯粹的自私自利。
一方面拿着自己写出来的不可名状之物要求所有人都来写牠的设定,一方面对别人写的文章故事视而不见,反手来一句“我们缺这种东西,所以你/站长/职员快去写这种东西”2;再者无偿为站点创作的可以被称为“圣母”,而这种东西则是“圣母婊”。
多提一句,强行拉着别人论战和“占着茅坑不拉屎”,也有,但不在本次拷打的范围内,所以暂时我不想说什么,写这篇单纯是某些行为表现地像传统古欧洲贵族子嗣一样的东西整天不是违反这个就是发表暴论博眼球,顺带讲讲到底什么是真正的“写手至上”,以及这玩意会造成什么影响。
写手至上主义的核心是将创作者的意志、表达与审美放在首位,主张写作应优先服务于作者自身,而非读者喜好、市场流量或外部评价。
从这一理念出发,作品的价值应该源于作者的真实思考与情感表达,而非迎合大众、追求热度或商业利益;这一类作者在创作中的表现是拒绝为了流量、点赞、销量刻意改变内容,不刻意讨好读者,也不被所谓“爆款公式”束缚,坚持以自我表达为写作。
再进一步剖析本质,这种理念更加强调创作的独立性与自主性,认可作者对作品拥有绝对的主导权——它不否定读者的存在,但反对将读者需求凌驾于创作本心之上。
在写手至上的视角里,写作首先是自我完成,其次才是被阅读、被理解,追求的是忠于内心、忠于文字本身的创作状态。
这才是“写手至上”的真正含义,不是被“自私自利”偷梁换柱,也不是“按对站点的贡献来排地位”3。
那我打算搞的写手至上?一切创作以我的想法为核心,丝毫不考虑其他作者作为读者时看到自己的设定被贬低到一无是处,如何?好受吗?现在某些人就是在搞这种行为,社区交流方针被写出来并且强制推行就是为了敲打这些人,然而实际上管理层低估了这些人的脸皮高估了智力4。