UNPKG

vitepress-plugin-tabs

Version:

A plugin that adds syntax for showing content in tabs.

131 lines (128 loc) 3.77 kB
:root { --vp-plugin-tabs-tab-text-color: var(--vp-c-text-2); --vp-plugin-tabs-tab-active-text-color: var(--vp-c-text-1); --vp-plugin-tabs-tab-hover-text-color: var(--vp-c-text-1); --vp-plugin-tabs-tab-bg: var(--vp-c-bg-soft); --vp-plugin-tabs-tab-divider: var(--vp-c-divider); --vp-plugin-tabs-tab-active-bar-color: var(--vp-c-brand-1); } .plugin-tabs { margin: 16px 0; background-color: var(--vp-plugin-tabs-tab-bg); border-radius: 8px; } .plugin-tabs--tab-list { position: relative; padding: 0 12px; overflow-x: auto; overflow-y: hidden; } .plugin-tabs--tab-list::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background-color: var(--vp-plugin-tabs-tab-divider); } .plugin-tabs--tab { position: relative; padding: 0 12px; line-height: 48px; border-bottom: 2px solid transparent; color: var(--vp-plugin-tabs-tab-text-color); font-size: 14px; font-weight: 500; white-space: nowrap; transition: color 0.25s; } .plugin-tabs--tab[aria-selected='true'] { color: var(--vp-plugin-tabs-tab-active-text-color); } .plugin-tabs--tab:hover { color: var(--vp-plugin-tabs-tab-hover-text-color); } .plugin-tabs--tab::after { content: ''; position: absolute; bottom: -2px; left: 8px; right: 8px; height: 2px; background-color: transparent; transition: background-color 0.25s; z-index: 1; } .plugin-tabs--tab[aria-selected='true']::after { background-color: var(--vp-plugin-tabs-tab-active-bar-color); } .plugin-tabs[data-variant='code'] { margin-top: 16px; margin-bottom: 0; background-color: transparent; border-radius: 0; } .plugin-tabs[data-variant='code'] .plugin-tabs--tab-list { margin-right: -24px; margin-left: -24px; background-color: var(--vp-code-tab-bg); box-shadow: inset 0 -1px var(--vp-code-tab-divider); } @media (min-width: 640px) { .plugin-tabs[data-variant='code'] .plugin-tabs--tab-list { margin-right: 0; margin-left: 0; border-radius: 8px 8px 0 0; } } .plugin-tabs[data-variant='code'] .plugin-tabs--tab-list::after { display: none; } .plugin-tabs[data-variant='code'] .plugin-tabs--tab { color: var(--vp-code-tab-text-color); } .plugin-tabs[data-variant='code'] .plugin-tabs--tab[aria-selected='true'] { color: var(--vp-code-tab-active-text-color); } .plugin-tabs[data-variant='code'] .plugin-tabs--tab:hover { color: var(--vp-code-tab-hover-text-color); } .plugin-tabs[data-variant='code'] .plugin-tabs--tab[aria-selected='true']::after { background-color: var(--vp-code-tab-active-bar-color); } .plugin-tabs--content[data-v-9f355b7c] { padding: 16px; } .plugin-tabs--content[data-is-print='true'][data-v-9f355b7c]:not(:last-child) { border-bottom: 2px solid var(--vp-plugin-tabs-tab-divider); } .plugin-tabs--content[data-v-9f355b7c] > :first-child:first-child { margin-top: 0; } .plugin-tabs--content[data-v-9f355b7c] > :last-child:last-child { margin-bottom: 0; } .plugin-tabs--content[data-v-9f355b7c] > div[class*='language-'] { border-radius: 8px; margin: 16px 0px; } :root:not(.dark) .plugin-tabs--content[data-v-9f355b7c] div[class*='language-'] { background-color: var(--vp-c-bg); } .plugin-tabs[data-variant='code'] .plugin-tabs--content[data-v-9f355b7c] { padding: 0; } .plugin-tabs[data-variant='code'] .plugin-tabs--content[data-v-9f355b7c] > div[class*='language-'] { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; margin: 0 -24px !important; } @media (min-width: 640px) { .plugin-tabs[data-variant='code'] .plugin-tabs--content[data-v-9f355b7c] > div[class*='language-'] { border-bottom-left-radius: 8px !important; border-bottom-right-radius: 8px !important; margin-right: 0 !important; margin-left: 0 !important; } }