@rtdui/tailwind-plugin
Version:
tailwind plugin for Rtdui components
168 lines (165 loc) • 3.82 kB
CSS
/****** shiki语法高亮 明暗主题 ******/
@media (prefers-color-scheme: dark) {
.shiki {
color: var(--shiki-dark) ;
background-color: var(--shiki-dark-bg) ;
span:not(.line) {
color: var(--shiki-dark) ;
}
.line.line.diff.remove {
background-color: var(--color-red-800);
}
.line.line.diff.add {
background-color: var(--color-green-700);
}
.line.line.highlighted.warning {
background-color: var(--color-yellow-700);
}
.line.line.highlighted.error {
background-color: var(--color-red-800);
}
}
}
[data-theme="dark"] {
.shiki {
color: var(--shiki-dark) ;
background-color: var(--shiki-dark-bg) ;
span:not(.line) {
color: var(--shiki-dark) ;
}
.line.line.diff.remove {
background-color: var(--color-red-800);
}
.line.line.diff.add {
background-color: var(--color-green-700);
}
.line.line.highlighted.warning {
background-color: var(--color-yellow-700);
}
.line.line.highlighted.error {
background-color: var(--color-red-800);
}
}
}
pre.shiki {
padding: 24px 0;
margin-bottom: 8px;
position: relative;
line-height: 20px;
&::before {
content: attr(data-language);
position: absolute;
right: 0;
top: 0;
padding: 0 0.25rem;
background-color: var(--color-base-300);
color: var(--color-gray-500);
}
code {
display: block;
padding: 0 24px;
.line {
display: block;
min-height: 20px;
&::before {
position: absolute;
left: 8px;
}
}
}
/* 高亮行 */
&.has-highlighted {
.line.highlighted {
transition: background-color 0.5s;
margin: 0 -24px;
padding: 0 24px;
/* width: calc(100% + 48px); */
background-color: var(--color-base-300);
/* 错误级别 */
&.warning {
background-color: var(--color-yellow-200);
/* opacity: 0.9; */
}
&.error {
background-color: var(--color-red-300);
/* opacity: 0.9; */
}
}
}
/* 焦点行 */
&.has-focused {
.line:not(.focused) {
filter: blur(0.095rem);
}
&:hover {
.line:not(.focused) {
filter: blur(0);
}
}
}
/* 差异行 */
&.has-diff {
.line.diff {
transition: background-color 0.5s;
margin: 0 -24px;
padding: 0 24px;
/* width: calc(100% + 48px); */
&.remove {
background-color: var(--color-red-100);
user-select: none;
&::before {
content: "-";
color: var(--color-red-500);
}
}
&.add {
background-color: var(--color-green-200);
&::before {
content: "+";
color: var(--color-green-600);
}
}
}
}
/* 行号 */
&.has-line-number {
code {
counter-reset: row_number;
.line {
margin: 0 -24px;
padding: 0 24px 0 56px;
/* width: calc(100% + 48px); */
&::before {
content: counter(row_number);
counter-increment: row_number;
/* width: 1rem;
text-align: right; */
color: var(--color-gray-500);
margin-right: 1em;
}
&.highlighted,
&.diff {
padding-left: 56px;
}
&.diff.remove {
&::before {
content: counter(row_number) " -";
}
}
&.diff.add {
&::before {
content: counter(row_number) " +";
}
}
}
}
}
/* 词高亮 */
.highlighted-word {
background-color: var(--color-base-300);
/* border: 1px solid var(--color-base-300); */
padding: 1px 3px;
margin: -1px -2px;
border-radius: 4px;
}
}