Na da bin ich aber mal gespannt.
Kann es kaum erwarten.
Und betrifft es wieder den kompletten Code,
oder nur einen bestimmten Teil, bestimmte Selektoren?
Ich habe am Rest natürlich auch wieder rumgefummelt , aber generell ist der Code in der Basis der selbe.
Du solltest eigentlich - ohne irgendwo unten reinzugehen - alle Farben im oberen General adjustments Block einstellen können.
Die unter Tableisten Kante hab ich mal rausgeworfen und mit was Anderem ersetzt, es geht ja nur um Abrenzung, oder?
Aber das kann man aufbauen wie man will, da gibt es zig Möglichkeiten.
Hier ist mein momentaner Testcode; den hab ich nur kurz in Fx119 getestet, ist immer ein Akt das System anzuwerfen, aber sah ok aus.
Die Grafik ist hier auch wieder eingebunden.
CSS
/*** Curved tabs beta #3 ***/
/*** General adjustments ***/
:root {
/* Tabs bar height adjust */
/*--tab-block-margin: 4px !important;*/
--tab-block-margin: 2px !important;
--tab-min-height: 36px !important;
/* Edges without Svg / Radius */
/*--ug-radius: 20px;*/
--ug-radius: 19px;
/* Edges (borders, outlines) colors */
/* Edges not selected */
--ug-color-border: hsla(0, 0%, 33%, 0.5); /* dunkelgrau unselected Kante Tab 83 */
--ug-stroke: var(--ug-color-border); /* unselected Kante Svg */
--ug-kante_hova: hsla(0, 0%, 43%, 0.65); /* mittelgrau unselected alle Kanten hover 93 */
/* Edges selected , multiselected */
--ug-color-border_select: hsla(0, 0%, 43%, 0.75); /* mittelgrau hell+ selected Kante Tab */
--ug-stroke_select: var(--ug-color-border_select); /* selected Kante Svg */
--ug-kante_hova_select: hsla(0, 0%, 49%, 0.8); /* mittelgrau hell++ multiselected alle Kanten hover 100 */
/* Tabs backgrounds: */
--ug-color1: hsla(0, 0%, 83%, 0.25); /* hellgrau basis, unselected */
--ug-color2: hsla(35, 80%, 60%, 0.25); /* zart orange selected */
--ug-color2-multi: hsla(35, 80%, 40%, 0.25); /*zart orange dunkel+ multiselected */
--ug-color_multi_hova: hsla(35, 70%, 40%, 0.35); /* zart orange dunkel++ multiselected hover */
--ug-color_hova: hsla(0, 0%, 50%, 0.25); /* mittelgrau#2 unselected hover */
/* Tab bar unten, border bottom color */
--ug-color3: hsla(0, 0%, 43%, 1); /* dunkelgrau nicht transparent, Kante zu Website */
/*--tabs-navbar-shadow-size: 0 !important;*/
}
/* Tab bar unten, border bottom mit NavToolbox */
/*
#TabsToolbar {
border-image: linear-gradient(to top,
var(--ug-color-border) 1px, transparent 1px) 1 / 0 0 1px 0 !important;
}
*/
#navigator-toolbox {
/*border-bottom: 1px solid var(--ug-color-border) !important;*/
border-bottom: none !important;
box-shadow: inset 0px -1px var(--ug-color3) !important;
}
/*** General adjustments end ***/
/* buttons adjust size, position */
/* Buttons smaller by 2px */
#TabsToolbar {
--toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 2px) !important;
}
/* Move buttons up/down, optional, OFF */
/*
#TabsToolbar toolbarbutton {
margin-top: -1px !important;
}
#tabbrowser-tabs {
--ug_margin_plus: 1px -1px;
}
:is(#scrollbutton-up, #scrollbutton-down) {
margin-block: var(--ug_margin_plus) !important;
}
*/
/* adjust tab content */
.tab-content {
margin-top: 3px !important;
}
.tabbrowser-tab:not([pinned]) .tab-content {
padding-inline: 12px 10px !important;
}
.tab-label, .tab-close-button {
text-shadow: none !important;
}
.tabbrowser-tab:not([pinned]) .tab-close-button {
border-radius: 50% !important;
display: flex !important;
}
.tab-close-button:hover {
/*outline: none !important;*/
outline: 1px solid var(--button-active-bgcolor) !important;
outline-offset: -1px !important;
background-color: var(--button-hover-bgcolor) !important;
}
/* New Tab (+) button, not overflow (+) button */
/* Button rund, icon position adjusted */
#tabbrowser-arrowscrollbox-periphery #tabs-newtab-button .toolbarbutton-icon {
border-radius: 50% !important;
--toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 3px) !important;
padding-block: 6px 8px !important;
}
/* New Tab (+) button hover outline */
#tabbrowser-arrowscrollbox-periphery:hover #tabs-newtab-button .toolbarbutton-icon {
outline: 1px solid var(--ug-color-border) !important;
outline-offset: -1px !important;
}
/*** Tabs base ***/
/* tabs connected bottom */
.tab-background {
margin-block: calc(2 * var(--tab-block-margin)) 0 !important;
}
/*** Tabs Radien, borders, corners, tab shapes order , inline borders only where no custom corners ***/
/* basis */
.tabbrowser-tab .tab-background {
border-radius: var(--ug-radius) var(--ug-radius) var(--ug-radius) 0 !important;
border: 1px solid !important;
/*border-bottom: none !important;*/
}
.tabbrowser-tab:not([pinned]) .tab-background {
border-left: none !important;
}
/* selected , pinned tabs */
.tabbrowser-tab:is([visuallyselected], :last-of-type, [pinned]) .tab-background {
border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
}
/* Tab selected no inline border */
.tabbrowser-tab:is([visuallyselected], :last-of-type):not([pinned]) .tab-background {
border-inline: none !important;
}
/* Tab after selected tab completely round, no corners */
.tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) .tab-background {
border-radius: var(--ug-radius) !important;
border-left: 1px solid var(--ug-color-border) !important;
}
.tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) .tab-background::before {
background-image: none !important;
}
/* Last tab dual corners, unless it comes after selected tab */
.tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]):last-of-type .tab-background {
border-radius: var(--ug-radius) var(--ug-radius) 0 var(--ug-radius) !important;
border-right: none !important;
}
/*** COLORS ***/
/** In about:config set svg.context-properties.content.enabled to true **/
/* Basis */
.tabbrowser-tab .tab-background {
outline: none !important;
box-shadow: none !important;
background-color: var(--ug-color1) !important;
border-color: var(--ug-color-border) !important;
stroke: var(--ug-stroke) !important;
fill: var(--ug-color1) !important;
}
/* Colors, outlines: selected / multiselected / hover */
/* tabs selected base */
.tabbrowser-tab:is([visuallyselected], [multiselected]) .tab-background {
background-image: none !important;
background-color: var(--ug-color2) !important;
stroke: var(--ug-stroke_select) !important;
border-color: var(--ug-color-border_select) !important;
fill: var(--ug-color2) !important;
}
/* tabs multiselected */
.tabbrowser-tab:not([visuallyselected])[multiselected] .tab-background {
background-color: var(--ug-color2-multi) !important;
fill: var(--ug-color2-multi) !important;
}
/* tabs multiselected hover */
.tabbrowser-tab:not([visuallyselected]):hover .tab-background {
background-color: var(--ug-color_multi_hova) !important;
fill: var(--ug-color_multi_hova) !important;
stroke: var(--ug-kante_hova_select) !important;
border-color: var(--ug-kante_hova_select) !important;
}
/* tabs unselected hover */
.tabbrowser-tab:not([visuallyselected], [multiselected]):hover .tab-background {
background-color: var(--ug-color_hova) !important;
fill: var(--ug-color_hova) !important;
/*stroke: var(--ug-stroke_select) !important;*/
stroke: var(--ug-kante_hova) !important;
border-color: var(--ug-kante_hova) !important;
}
/*** tabs corners ***/
/* base */
#TabsToolbar {
--ug-corner-size: var(--tab-min-height);
/*--ug-corner-image: url(icons/tab_corner_ug.svg) !important;*/
--ug-corner-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 32 32'%3E%3Cpath d='M0 33 L3 32.5 A16 16 0 0 0 15.5 16 L 16 16 L 16 33 Z' fill='context-fill'/%3E%3Cpath d='M3 32.5 A16 16 0 0 0 15.5 16' fill='rgba(155,122,0,0)' stroke='context-stroke' stroke-width='1px'/%3E%3Cpath d='M0 16 L16 16 A15.5 15.5 0 0 1 32 0 L 32 0 L 32 16 Z' fill='rgba(155,122,0,0)'/%3E%3Cpath d='M15.5 16 A18.5 18 0 0 1 35.5 -0.5' fill='transparent' stroke='context-stroke' stroke-width='1px' /%3E%3C/svg%3E%0A");
}
.tabbrowser-tab .tab-background::before,
.tabbrowser-tab .tab-background::after {
content: "";
position: absolute;
-moz-context-properties: fill, fill-opacity, stroke, stroke-opacity !important;
width: var(--ug-corner-size) !important;
height: var(--ug-corner-size) !important;
background-size: var(--ug-corner-size) !important;
background-repeat: no-repeat !important;
background-position: bottom center !important;
mask-image: linear-gradient(215deg, transparent, black 18px) !important;
/*outline: 1px solid hsla(35, 80%, 50%, 0.75) !important;
outline-offset: -1px !important;*/
}
/* left */
.tabbrowser-tab .tab-background::before {
left: calc(0px - var(--ug-corner-size) / 2);
background-image: var(--ug-corner-image) !important;
}
/* right */
.tabbrowser-tab[visuallyselected] .tab-background::after {
right: calc(0px - var(--ug-corner-size) / 2);
background-image: var(--ug-corner-image) !important;
transform: scaleX(-1) !important;
}
.tabbrowser-tab:last-of-type .tab-background::after {
right: calc(0px - var(--ug-corner-size) / 2);
background-image: var(--ug-corner-image) !important;
transform: scaleX(-1) !important;
}
/* pinned no corners */
.tabbrowser-tab[pinned] .tab-background::before,
.tabbrowser-tab[pinned] .tab-background::after {
display: none !important;
}
/* TEST margins etc overflow */
/* TEST outlines */
.tabbrowser-tab:not([pinned]) {
/*background-color: hsla(135, 80%, 50%, 0.5) !important;
outline: 1px solid hsla(135, 80%, 50%, 0.5) !important;
outline-offset: -1px !important;*/
}
/* TEST base -> 36px/2 + 2px padding Abstand */
#tabbrowser-tabs {
--ug-tab_Pad: calc(2px + var(--ug-corner-size) / 2);
--ug-tab_Marge: calc(0px - var(--ug-corner-size) / 2);
--tab-min-width: 120px !important;
}
/* basis TEST */
.tabbrowser-tab:not([pinned]) {
overflow: visible !important;
z-index: 3 !important;
padding-inline: var(--ug-tab_Pad) !important;
margin-inline: var(--ug-tab_Marge) !important;
}
/* Tab after selected tab completely round, no corners TEST */
.tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected], :last-of-type) {
z-index: 1 !important;
}
/* Tab selected TEST */
.tabbrowser-tab:not([pinned]):is([visuallyselected], , :last-of-type) {
z-index: 2 !important;
}
/* Last tab dual corners, unless it comes after selected tab TEST OFF */
/*
.tabbrowser-tab[visuallyselected]:not([pinned]) + .tabbrowser-tab:not([visuallyselected]):last-of-type {
}
*/
/* divers TEST */
/* Space for corner left/right - first/last tab, overflow bug fix ? */
/* Test #4 */
/*#tabbrowser-tabs:not([overflow])*/ .tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) {
margin-inline-start: 0px !important;
}
#tabbrowser-arrowscrollbox-periphery #tabs-newtab-button {
margin-block: 1px -1px !important;
/*padding-inline: 0px !important;*/
}
/* Position, closer to last tab */
.tabbrowser-tab:not([pinned]) + #tabbrowser-arrowscrollbox-periphery {
/*margin-inline: -16px !important;*/
z-index: 5 !important;
}
Alles anzeigen