mirror of
https://github.com/gnoxnahte/obsidian-tab-panels.git
synced 2026-07-22 11:00:24 +00:00
219 lines
No EOL
5.5 KiB
CSS
219 lines
No EOL
5.5 KiB
CSS
.tab-panel-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
--padding-dist: 0.8em;
|
|
--outer-border-radius: 1.5em;
|
|
--inner-border-radius: calc(var(--outer-border-radius) - var(--padding-dist));
|
|
padding: var(--padding-dist);
|
|
|
|
border: var(--border-width) solid var(--background-modifier-border);
|
|
border-radius: var(--outer-border-radius);
|
|
background-color: var(--background-secondary-alt);
|
|
}
|
|
|
|
.tab-scroll-container {
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
scroll-behavior: smooth;
|
|
|
|
&.hide-container {
|
|
display: none;
|
|
}
|
|
|
|
&::-webkit-scrollbar-track-piece {
|
|
margin-left: 3px;
|
|
}
|
|
|
|
&::-webkit-scrollbar-track {
|
|
background-color: var(--background-primary) !important;
|
|
|
|
border-top-left-radius: 0.5em;
|
|
border-top-right-radius: 0.5em;
|
|
|
|
border: var(--border-width) solid var(--background-modifier-border);
|
|
border-bottom: none;
|
|
|
|
box-shadow: 0 5px 0 -1px var(--background-primary),
|
|
0 5px var(--background-modifier-border);
|
|
}
|
|
}
|
|
|
|
.tab-panel-container .tab-container .tab:hover {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.tab-panel-container ul.tab-container {
|
|
/* margin: 0 7px; */
|
|
display: flex;
|
|
list-style: none;
|
|
margin-block: 0;
|
|
margin: 0 15px;
|
|
gap: 0.2em;
|
|
width: fit-content;
|
|
|
|
/* Fix overlapping CSS with other plugins */
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
overflow-x: visible;
|
|
}
|
|
|
|
.tab-panel-container .tab {
|
|
/* Remove list styling */
|
|
white-space: nowrap;
|
|
margin-inline-start: 0;
|
|
|
|
padding: 0.2em 1em 0.6em;
|
|
|
|
border-top-left-radius: var(--inner-border-radius);
|
|
border-top-right-radius: var(--inner-border-radius);
|
|
|
|
&.selected {
|
|
border: var(--border-width) solid var(--background-modifier-border);
|
|
border-bottom: none;
|
|
margin-bottom: -1px;
|
|
background-color: var(--background-primary);
|
|
|
|
/* Small curves at the sides of the tabs */
|
|
/* Copied from inspecting Obsidian tabs */
|
|
&::before {
|
|
box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve) * 4) var(--tab-background-active);
|
|
left: calc(var(--tab-curve) * -2);
|
|
clip-path: inset(50% calc(var(--tab-curve) * -1) 0 50%);
|
|
position: absolute;
|
|
bottom: 1px;
|
|
content: '';
|
|
width: calc(var(--tab-curve) * 2);
|
|
height: calc(var(--tab-curve) * 2);
|
|
border-radius: 100%;
|
|
/* border: 2px solid red; */
|
|
}
|
|
&::after {
|
|
box-shadow: inset 0 0 0 var(--tab-outline-width) var(--tab-outline-color), 0 0 0 calc(var(--tab-curve) * 4) var(--tab-background-active);
|
|
right: calc(var(--tab-curve) * -2);
|
|
clip-path: inset(50% 50% 0 calc(var(--tab-curve) * -1));
|
|
position: absolute;
|
|
bottom: 1px;
|
|
content: '';
|
|
width: calc(var(--tab-curve) * 2);
|
|
height: calc(var(--tab-curve) * 2);
|
|
border-radius: 100%;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Nested tab panels fix curve - Issue: https://github.com/GnoxNahte/obsidian-tab-panels/issues/17#issuecomment-2566461416*/
|
|
.tab-panel-container .tab-panel-container li.tab.selected:last-child {
|
|
&::before, &::after {
|
|
bottom: 0px;
|
|
}
|
|
}
|
|
|
|
.highlight-selected-tab-name .selected.tab {
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
.tab-panel-container .content-container {
|
|
background-color: var(--background-primary);
|
|
padding: 1em;
|
|
border-radius: var(--inner-border-radius);
|
|
box-shadow: 0 0 0 var(--border-width) var(--background-modifier-border);
|
|
}
|
|
|
|
.tab-panel-container .content-container > div {
|
|
&:not(.selected) {
|
|
display: none;
|
|
}
|
|
|
|
.rendered-content {
|
|
& > *:first-child {
|
|
margin-top: 0 !important;
|
|
}
|
|
|
|
& > *:last-child {
|
|
margin-bottom: 0 !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.tab-panel-container .hide-content {
|
|
display: none;
|
|
}
|
|
|
|
.tab-panel-container textarea {
|
|
width: 100%;
|
|
field-sizing: content;
|
|
resize: none;
|
|
}
|
|
|
|
.pdf-tab-header {
|
|
display: none;
|
|
}
|
|
|
|
/* Only show when "export to pdf" */
|
|
@media print {
|
|
.tab-scroll-container {
|
|
display: none;
|
|
}
|
|
|
|
.tab-panel-container .content-container {
|
|
padding: 0;
|
|
background-color: var(--background-secondary-alt);
|
|
box-shadow: none;
|
|
}
|
|
|
|
.tab-panel-container .content-container > div {
|
|
display: block !important;
|
|
flex-direction: column;
|
|
border-radius: var(--inner-border-radius);
|
|
border-top: none;
|
|
}
|
|
|
|
.tab-panel-container .pdf-tab-header + div:has(.rendered-content) {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.tab-panel-container .rendered-content {
|
|
padding: 1em 1em;
|
|
|
|
border: var(--border-width) solid var(--background-modifier-border);
|
|
background-color: var(--background-primary);
|
|
border-radius: var(--inner-border-radius);
|
|
}
|
|
|
|
.content-container > div {
|
|
display: flex !important;
|
|
}
|
|
|
|
.tab-panel-container .pdf-tab-header {
|
|
display: block;
|
|
position:relative;
|
|
|
|
width: fit-content;
|
|
margin-left: 15px;
|
|
|
|
&::before, &::after {
|
|
bottom: 0 !important;
|
|
}
|
|
|
|
p {
|
|
margin: 0 !important;
|
|
}
|
|
}
|
|
|
|
.tab-panel-container .content-container > div:not(:first-child) .pdf-tab-header {
|
|
margin-top: 1em;
|
|
}
|
|
}
|
|
|
|
/* Test focus */
|
|
/* *:focus {
|
|
border: 3px solid yellow;
|
|
}
|
|
|
|
*:focus-visible {
|
|
border: 3px solid red;
|
|
}
|
|
|
|
code:focus {
|
|
background-color: red;
|
|
} */ |