文件
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

378 行
7.1 KiB
SCSS

body, textarea {
margin: 0;
padding: 0;
border: none;
}
:root {
background-color: var(--joplin-background-color);
}
#react-root {
height: 100%;
overflow: hidden;
}
table {
border-collapse: collapse;
}
table th {
text-align: left;
}
table td, table th {
padding: .5em;
border: 1px solid #ccc;
}
a {
text-decoration: none;
}
::-webkit-scrollbar {
width: var(--scrollbar-size, 7px);
height: var(--scrollbar-size, 7px);
}
::-webkit-scrollbar-corner {
background: none;
}
::-webkit-scrollbar-track {
border: none;
}
::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb-color);
border-radius: calc(var(--scrollbar-size, 7px) * 0.7);
}
::-webkit-scrollbar-track:hover {
background: rgba(0, 0, 0, 0.1);
}
::-webkit-scrollbar-thumb:hover {
background: var(--scrollbar-thumb-color-hover);
}
:root {
--scrollbar-thumb-color: var(--joplin-scrollbar-thumb-color);
--scrollbar-thumb-color-hover: var(--joplin-scrollbar-thumb-color-hover);
}
// Uses a scrollbar with secondary colors. Should be used for content with
// background matching joplin-background-color2.
._scrollbar2 {
--scrollbar-thumb-color: var(--joplin-scrollbar-thumb-color2);
--scrollbar-thumb-color-hover: var(--joplin-scrollbar-thumb-color-hover2);
}
.fade_out {
-webkit-transition: 0.15s;
transition: 0.15s;
opacity: 0;
}
.fade_in {
-webkit-transition: 0.3s;
transition: 0.3s;
opacity: 1;
}
.editor-toolbar .button,
.header .button {
border: 1px solid rgba(0,160,255,0);
}
.icon-button:hover {
background-color: rgba(0,0,0,0.05) !important;
border: 1px solid rgba(0,0,0,0.10);
border-radius: 5px;
}
.icon-button:active {
background-color: rgba(0,0,0,0.10) !important;
border: 1px solid rgba(0,0,0,0.15);
border-radius: 5px;
}
.rdtPicker {
min-width: 250px;
width: auto !important;
}
.smalltalk {
font-family: sans-serif;
}
.help-tooltip {
font-family: sans-serif;
max-width: 200px;
}
:disabled {
opacity: 0.6;
}
.config-menu-bar button:focus {
outline: 0 none;
}
.modal-message {
display: flex;
justify-content: center;
align-items: flex-start;
color: grey;
font-size: 1.2em;
margin: 40px 20px;
&.-with-close-button {
align-items: stretch;
flex-direction: column;
height: calc(100vh - 80px);
justify-content: flex-start;
max-height: calc(100vh - 80px);
min-width: min(600px, calc(100vw - 40px));
width: calc(100vw - 40px);
}
}
.modal-message-scrollable-content {
flex: 1 1 auto;
min-height: 0;
overflow-y: auto;
}
.modal-message-actions {
display: flex;
flex-shrink: 0;
justify-content: flex-end;
padding-top: 20px;
button {
min-width: 80px;
padding: 6px 16px;
}
}
.loading-animation {
margin-right: 20px;
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
border: 5px solid lightgrey;
border-top: 4px solid white;
border-radius: 50%;
transition-property: transform;
animation-name: rotate;
animation-duration: 1.2s;
animation-iteration-count: infinite;
animation-timing-function: linear;
@media (prefers-reduced-motion: reduce) {
animation-name: none;
}
}
@keyframes rotate {
from {transform: rotate(0deg);}
to {transform: rotate(360deg);}
}
*:focus-visible {
outline: 1px solid var(--joplin-focus-outline-color);
}
// The browser-default focus-visible indicator was originally removed for aesthetic
// reasons. However, this causes accessibility issues.
//
// As a comprimise, we disable the focus-visible indicator in cases where the user is
// probably not navigating with the keyboard. Note that :focus-visible alone is not
// sufficient because it matches any focused input (https://stackoverflow.com/a/66109577).
//
// See https://github.com/laurent22/joplin/issues/9982.
input:not([type=button]):not([type=checkbox]) {
&:focus-visible {
outline: none;
}
}
/* =========================================================================================
General classes
========================================================================================= */
body, button {
color: var(--joplin-color);
font-size: 13px;
}
div, span, a {
font-family: var(--cn-font-sans, Roboto);
}
h2 {
font-size: 20px;
&.-no-top-margin {
margin-top: 0;
}
}
.form {
display: flex;
flex-direction: column;
}
.form > .form-input-group {
display: flex;
flex-direction: column;
}
.form > .form-input-group > label {
margin-bottom: 10px;
}
.form > .form-input-group-checkbox {
display: flex;
flex-direction: row;
align-items: center;
}
.form > .form-input-group-checkbox > input {
display: flex;
margin-right: 6px;
}
.form > .form-input-group-checkbox > label {
display: flex;
margin-bottom: 0;
}
.bold {
font-weight: bold;
}
p,
div.form,
.form > .form-input-group {
margin-top: 0;
margin-bottom: 20px;
}
p {
&.-small {
font-size: 11px;
}
}
.form > .form-input-group:last-child {
margin-bottom: 0;
}
button {
cursor: pointer;
}
button:disabled {
cursor: default;
}
a {
color: var(--joplin-url-color);
}
p.info-text {
font-style: italic;
color: var(--joplin-color-faded);
}
// Hides elements, but still exposes them to accessibility tools.
// Avoids `visibility: hidden` and `display: none`, because this may cause some
// screen readers to ignore the element.
// See https://www.w3.org/WAI/tutorials/forms/labels/#hiding-label-text
.visually-hidden {
opacity: 0;
z-index: -1;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
pointer-events: none;
position: absolute;
}
/* =========================================================================================
Component-specific classes
========================================================================================= */
.config-screen .config-section {
border-bottom: 1px solid var(--joplin-divider-color);
padding-bottom: 20px;
}
.master-password-dialog .dialog-root, .enable-encryption-dialog .dialog-root, .disable-encryption-dialog .dialog-root {
min-width: 500px;
max-width: 600px;
}
.note-lock-migration-dialog > .content {
box-sizing: border-box;
width: 500px;
max-width: 100%;
}
.master-password-dialog .dialog-content, .enable-encryption-dialog .dialog-content, .disable-encryption-dialog .dialog-content, .note-lock-migration-dialog .dialog-content {
background-color: var(--joplin-background-color3);
padding: 1em;
padding-bottom: 1px;
}
.master-password-dialog .current-password-wrapper, .enable-encryption-dialog .current-password-wrapper, .disable-encryption-dialog .current-password-wrapper {
display: flex;
flex-direction: row;
align-items: center;
}
// .master-password-dialog .current-password-wrapper input {
// flex: 1;
// margin-right: 10px;
// }
// Disable dragging of links (which are often buttons)
a:not([draggable=true]), img:not([draggable=true]) {
-webkit-user-drag: none;
}
.smalltalk {
background-color: rgba(0,0,0,.5);
}
.smalltalk input {
margin-top: 1em;
}
.smalltalk .page {
max-width: 30em;
}
mark {
background: #CF3F00;
color: white;
}
/*
Adds support for RTL text in the note body. It automatically detects the direction using the content.
Issue: https://github.com/laurent22/joplin/issues/3991
*/
.CodeMirror-line {
unicode-bidi: plaintext;
}
// Legacy CodeMirror editor overrides
.CodeMirror5 > .CodeMirror {
height: 100%;
width: 100%;
}