bwya77_collapsible-code-blocks/styles.css

112 lines
No EOL
2.3 KiB
CSS

/* styles.css */
.markdown-preview-view pre.ccb-code-block {
position: relative;
padding-top: 24px;
user-select: text;
transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
}
.markdown-preview-view pre.ccb-code-block code {
display: block;
line-height: 1.5em;
transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
overflow-x: auto;
}
.markdown-preview-view pre.ccb-code-block.collapsed code {
max-height: calc(var(--collapsed-lines, 1) * 1.5em);
overflow: hidden;
overflow-x: hidden;
}
.code-block-toggle {
position: absolute;
left: 4px;
top: 4px;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
cursor: pointer;
z-index: 2;
background: transparent;
border-radius: 4px;
user-select: none;
font-size: 16px;
}
.code-block-toggle:hover {
color: var(--text-normal);
background: var(--background-modifier-hover);
}
.code-block-toggle:focus-visible {
outline: 2px solid var(--text-accent);
outline-offset: 2px;
}
.code-block-toggle::selection {
background: transparent;
}
body[data-ccb-horizontal-scroll="true"] .markdown-preview-view pre.ccb-code-block:not(.collapsed) code {
white-space: pre;
}
.ccb-hide-vertical-scrollbar::-webkit-scrollbar:vertical {
width: 0;
}
/* New styles for dynamic states */
.hidden {
display: none !important;
}
.element-hidden {
display: none !important;
}
.element-visible {
display: block;
}
.element-spacing {
margin-top: var(--element-spacing);
}
/* Custom properties for dynamic values */
:root {
--element-spacing: 0px;
--collapsed-lines: 1;
}
.code-block-folded {
min-height: 3em;
padding: 1.5em 1em 1em 48px;
background: var(--code-background);
border-radius: 4px;
color: var(--text-muted);
font-family: var(--font-monospace);
font-size: var(--code-size);
line-height: var(--line-height-tight);
position: relative;
}
.ccb-editor-codeblock {
position: relative;
padding-left: 32px;
}
.code-block-folded .folded-content {
max-height: calc(var(--collapsed-lines, 1) * 1.5em);
overflow: hidden;
white-space: pre;
}
.code-block-folded .code-block-toggle {
top: 4px;
left: 4px;
}