UNPKG

@rtdui/tailwind-plugin

Version:

tailwind plugin for Rtdui components

127 lines (126 loc) 2.76 kB
/****** shiki语法高亮, dark单主题模式 ******/ pre.shiki { padding: 24px 0; margin-bottom: 8px; position: relative; border-radius: 0.5rem; &::before { content: attr(data-language); position: absolute; left: 0; top: 0; padding: 0 0.5rem; background-color: var(--color-gray-900); color: var(--color-gray-400); border-start-start-radius: 0.5rem; } code { display: block; padding: 0 24px; &:has(.line) { font-size: 0; } .line { display: inline-block; min-height: 20px; font-size: 1rem; &::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-gray-900); /* 错误级别 */ &.warning { background-color: var(--color-yellow-900); } &.error { background-color: var(--color-red-900); } } } /* 焦点行 */ &.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-800); user-select: none; &::before { content: "-"; color: var(--color-red-500); } } &.add { background-color: var(--color-green-900); &::before { content: "+"; color: var(--color-green-500); } } } } /* 行号 */ &.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-gray-900); /* border: 1px solid var(--color-gray-700); */ padding: 1px 3px; margin: -1px -2px; border-radius: 4px; } }