Advertisement
kerlser

curved hacky

Nov 9th, 2023 (edited)
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 12.00 KB | None | 0 0
  1.  
  2. /*
  3. #titlebar {
  4.     order: 1 !important;
  5. }
  6. */
  7.  
  8. /*  ERSETZEN ENDE  */
  9.  
  10.  
  11. /*** Curved tabs beta #2B ***/
  12.  
  13.  
  14. /*** General adjustments ***/
  15.  
  16. :root {
  17.  
  18. /* Tabs bar height adjust */
  19.     /*--tab-block-margin: 4px !important;*/
  20.     --tab-block-margin: 2px !important;
  21.     --tab-min-height: 36px !important;
  22.  
  23. /* Edges without Svg /  Radius */
  24.     --ug-radius: 20px;
  25.  
  26. /* Edges (borders, outlines) colors */
  27.  
  28. /* Edges not selected */
  29.     --ug-color-border: hsla(0, 0%, 33%, 0.5);                                    /* unselected Kante Tab 83 */
  30.     --ug-stroke: var(--ug-color-border);                                             /* unselected Kante Svg */
  31.     --ug-kante_hova: hsla(0, 0%, 43%, 0.65);                        /* unselected alle Kanten hover 93 */
  32.  
  33. /* Edges selected , multiselected */
  34.     --ug-color-border_select: hsla(0, 0%, 43%, 0.75);                            /* selected Kante Tab */
  35.     --ug-stroke_select:  var(--ug-color-border_select);                           /* selected Kante Svg */
  36.     --ug-kante_hova_select: hsla(0, 0%, 49%, 0.8);           /* multiselected alle Kanten hover 100 */
  37.  
  38.  
  39. /* Tabs backgrounds:  */
  40.  
  41.     --ug-color1: hsla(0, 0%, 83%, 0.25);                                /* basis, unselected */
  42.     --ug-color2: hsla(35, 80%, 60%, 0.25);                                          /* selected */
  43.     --ug-color2-multi: hsla(35, 80%, 50%, 0.25);                          /* multiselected */
  44.     --ug-color_multi_hova: hsla(35, 70%, 40%, 0.35);        /* multiselected hover */
  45.     --ug-color_hova: hsla(0, 0%, 50%, 0.25);                         /* unselected hover */
  46.  
  47. /* Tab bar border bottom color */
  48.     --ug-color3: hsla(0, 0%, 43%, 1);
  49.  
  50.     /*--tabs-navbar-shadow-size: 0 !important;*/
  51. }
  52.  
  53. /*
  54.  #TabsToolbar {
  55.     -moz-context-properties: fill, fill-opacity, stroke, stroke-opacity !important;
  56. }
  57. */
  58.  
  59. /** Distance between tabs **/
  60. .tabbrowser-tab:not([pinned]) {
  61.     /*padding-inline: 2px !important;*/
  62.     overflow: visible !important;
  63. }
  64.  
  65. /*** General adjustments end ***/
  66.  
  67.  
  68. /* Tab bar border bottom */
  69.  
  70. #TabsToolbar {
  71.     border-image: linear-gradient(to top,
  72.         var(--ug-color-border) 1px, transparent 1px) 1 / 0 0 1px 0 !important;
  73. }
  74.  
  75. /* buttons adjust size, position */
  76.  
  77. /* Buttons smaller by 2px */
  78. #TabsToolbar {
  79.     --toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 2px) !important;
  80. }
  81.  
  82. /* Move buttons up/down, optional, OFF */
  83. /*
  84. #TabsToolbar toolbarbutton {
  85.     margin-top: -1px !important;
  86. }
  87. #tabbrowser-tabs {
  88.     --ug_margin_plus: 1px -1px;
  89. }
  90. :is(#scrollbutton-up, #scrollbutton-down) {
  91.     margin-block:  var(--ug_margin_plus) !important;
  92. }
  93. */
  94.  
  95. /* adjust tab content */
  96. .tab-content {
  97.     margin-top: 3px !important;
  98. }
  99. .tabbrowser-tab:not([pinned]) .tab-content {
  100.     padding-inline: 12px 10px !important;
  101. }
  102.  
  103. .tab-label, .tab-close-button {
  104.     text-shadow: none  !important;
  105. }
  106.  
  107. .tabbrowser-tab:not([pinned]) .tab-close-button {
  108.     border-radius: 50% !important;
  109.     display: flex !important;
  110. }
  111. .tab-close-button:hover {
  112.     /*outline: none !important;*/
  113.     outline: 1px solid var(--button-active-bgcolor) !important;
  114.     outline-offset: -1px !important;
  115.     background-color: var(--button-hover-bgcolor) !important;
  116. }
  117.  
  118. /* New Tab (+) button, not overflow (+) button */
  119.  
  120. /* Position, closer to last tab */
  121.  
  122. .tabbrowser-tab:not([pinned]) + #tabbrowser-arrowscrollbox-periphery {
  123.     /*margin-inline: -11px !important;*/
  124.     margin-left: 8px !important;
  125.     z-index: 2 !important;
  126. }
  127.  
  128.  
  129. #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button {
  130.     margin-block: 1px -1px !important;
  131.     padding-inline: 0px !important;
  132. }
  133.  
  134. /* Button rund, icon position adjusted */
  135. #tabbrowser-arrowscrollbox-periphery #tabs-newtab-button .toolbarbutton-icon {
  136.     border-radius: 50% !important;
  137.     --toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2 - 3px) !important;
  138.     padding-block: 6px 8px !important;
  139. }
  140.  
  141. /* New Tab (+) button hover outline */
  142. #tabbrowser-arrowscrollbox-periphery:hover #tabs-newtab-button .toolbarbutton-icon {
  143.     outline: 1px solid var(--ug-color-border) !important;
  144.     outline-offset: -1px !important;
  145.     /*box-shadow: inset 0 0px 2px 1px var(--ug-color-border) !important;*/
  146. }
  147.  
  148.  
  149.                                                            /*** Tabs base ***/
  150.  
  151. /* tabs connected bottom */
  152.  
  153. .tab-background {
  154.     margin-block: calc(2 * var(--tab-block-margin)) 0 !important;
  155. }
  156.  
  157. /* Space for corner left/right - first/last tab, overflow bug fix ? */
  158. /* Test #3 */
  159.  
  160. /*
  161. .tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) {
  162.     padding-left: calc(var(--ug-corner-size) / 2) !important;
  163. }
  164. .tabbrowser-tab:not([pinned]):last-of-type {
  165.     padding-right: calc(var(--ug-corner-size) / 2) !important;
  166. }
  167. */
  168.  
  169. .tabbrowser-tab[first-visible-unpinned-tab] {
  170.     margin-inline-start: 0px !important;
  171. }
  172.  
  173.  
  174.  
  175. /*** Tabs Radien, borders, corners, tab shapes order , inline borders only where no custom corners ***/
  176.  
  177. /*   basis   */
  178. .tabbrowser-tab .tab-background {
  179.     border-radius: var(--ug-radius) var(--ug-radius) var(--ug-radius)  0 !important;
  180.     border: 1px solid !important;
  181.     border-bottom: none !important;
  182. }
  183.  
  184. .tabbrowser-tab:not([pinned]) .tab-background {
  185.     border-left: none !important;
  186. }
  187.  
  188. /* selected , pinned tabs */
  189. .tabbrowser-tab:is([visuallyselected], [pinned]) .tab-background {
  190.     border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
  191. }
  192.  
  193. /* Tab selected no inline border */
  194. .tabbrowser-tab[visuallyselected]:not([pinned]) .tab-background {
  195.     border-inline: none !important;
  196. }
  197.  
  198. /* Tab after selected tab completely round, no corners */
  199. .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) .tab-background {
  200.     border-radius: var(--ug-radius) !important;
  201.     border-left: 1px solid var(--ug-color-border) !important;
  202. }
  203. .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) .tab-background::before {
  204.     background-image: none !important;
  205. }
  206.  
  207. /* Last tab dual corners, unless it comes after selected tab */
  208.  
  209. .tabbrowser-tab:not([pinned]):last-of-type .tab-background {
  210.     border-radius: var(--ug-radius) var(--ug-radius) 0 0 !important;
  211.     border-inline: none !important;
  212. }
  213. .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]):last-of-type .tab-background {
  214.     border-radius: var(--ug-radius) var(--ug-radius) 0 var(--ug-radius) !important;
  215.     border-right: none !important;
  216. }
  217.  
  218.                                                           /***  COLORS  ***/
  219.  
  220. /**  In about:config set svg.context-properties.content.enabled to true  **/
  221.  
  222.  
  223. /* Basis */
  224.  
  225. .tabbrowser-tab .tab-background {
  226.     outline: none !important;
  227.     box-shadow: none !important;
  228.     background-color: var(--ug-color1) !important;
  229.     border-color: var(--ug-color-border) !important;
  230.     stroke: var(--ug-stroke) !important;
  231.     fill: var(--ug-color1) !important;
  232. }
  233.  
  234. /* Colors, outlines: selected / multiselected / hover */
  235.  
  236. /* tabs selected base */
  237. .tabbrowser-tab:is([visuallyselected], [multiselected]) .tab-background {
  238.     background-image: none !important;
  239.     background-color: var(--ug-color2) !important;
  240.     stroke: var(--ug-stroke_select) !important;
  241.     border-color: var(--ug-color-border_select) !important;
  242.     fill: var(--ug-color2) !important;
  243. }
  244.  
  245. /* tabs multiselected */
  246. .tabbrowser-tab:not([visuallyselected])[multiselected] .tab-background {
  247.     background-color: var(--ug-color2-multi) !important;
  248.     fill: var(--ug-color2-multi) !important;
  249. }
  250.  
  251. /* tabs multiselected hover */
  252. .tabbrowser-tab:not([visuallyselected]):hover .tab-background {
  253.     background-color: var(--ug-color_multi_hova) !important;
  254.     fill: var(--ug-color_multi_hova) !important;
  255.     stroke: var(--ug-kante_hova_select) !important;
  256.     border-color: var(--ug-kante_hova_select) !important;
  257. }
  258.  
  259. /* tabs unselected hover */
  260. .tabbrowser-tab:not([visuallyselected], [multiselected]):hover .tab-background {
  261.     background-color: var(--ug-color_hova) !important;
  262.     fill: var(--ug-color_hova) !important;
  263.     /*stroke: var(--ug-stroke_select) !important;*/
  264.     stroke: var(--ug-kante_hova) !important;
  265.     border-color: var(--ug-kante_hova) !important;
  266. }
  267.  
  268.                                                       /***  tabs corners  ***/
  269. /*  base  */
  270.  
  271. #TabsToolbar {
  272.     --ug-corner-size: var(--tab-min-height);
  273.     /*--ug-corner-image: url(icons/tab_corner_ug.svg) !important;*/
  274.     --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");
  275. }
  276.  
  277. .tabbrowser-tab .tab-background::before,
  278. .tabbrowser-tab .tab-background::after {
  279.     content: "";
  280.     position: absolute;
  281.     -moz-context-properties: fill, fill-opacity, stroke, stroke-opacity !important;
  282.     width: var(--ug-corner-size) !important;
  283.     height: var(--ug-corner-size) !important;
  284.     background-size: var(--ug-corner-size) !important;
  285.     background-repeat: no-repeat !important;
  286.     background-position: bottom center !important;
  287.     mask-image: linear-gradient(215deg, transparent, black 18px) !important;
  288. }
  289.  
  290. /*  left  */
  291. .tabbrowser-tab .tab-background::before {
  292.     left: calc(0px - var(--ug-corner-size) / 2);
  293.     background-image: var(--ug-corner-image) !important;
  294. }
  295.  
  296. /*  right  */
  297. .tabbrowser-tab[visuallyselected] .tab-background::after {
  298.     right: calc(0px - var(--ug-corner-size) / 2);
  299.     background-image: var(--ug-corner-image) !important;
  300.     transform: scaleX(-1) !important;
  301. }
  302.  
  303. .tabbrowser-tab:last-of-type .tab-background::after {
  304.     right: calc(0px - var(--ug-corner-size) / 2);
  305.     background-image: var(--ug-corner-image) !important;
  306.     transform: scaleX(-1) !important;
  307. }
  308.  
  309. .tabbrowser-tab[pinned] .tab-background::before,
  310. .tabbrowser-tab[pinned] .tab-background::after {
  311.     display: none !important;
  312. }
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319. /*   margins test   */
  320.  
  321. .tabbrowser-tab .tab-background {
  322.     border-radius: var(--ug-radius) var(--ug-radius) var(--ug-radius)  0 !important;
  323. }
  324.  
  325.                                                                                                                /* basis TEST */
  326. .tabbrowser-tab:not([pinned]) {
  327.     padding-left: 20px !important;
  328. }
  329.  
  330.                                                                                                        /* Tab selected  TEST */
  331.  
  332. .tabbrowser-tab[visuallyselected]:not([pinned]) {
  333.     padding-inline: 20px !important;
  334. }
  335.  
  336.  
  337.                                                   /* Tab after selected tab completely round, no corners TEST */
  338.  
  339. .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]) {
  340.     margin-inline: -36px -18px !important;
  341. }
  342.  
  343. /*
  344. .tabbrowser-tab:not([visuallyselected]) + .tabbrowser-tab:is([visuallyselected]) {
  345.     margin-left: -18px !important;
  346. }
  347. */
  348.  
  349. /*
  350. .tabbrowser-tab:not([visuallyselected], [pinned]) + .tabbrowser-tab:not([visuallyselected]) {
  351.     margin-right: -18px !important;
  352. }
  353. */
  354.  
  355. .tabbrowser-tab:not([visuallyselected], [pinned]) {
  356.     margin-right: -18px !important;
  357. }
  358.  
  359.                                                  /* Last tab dual corners, unless it comes after selected tab TEST */
  360.  
  361. .tabbrowser-tab:not([pinned]):last-of-type {
  362.     padding-inline: 20px !important;
  363. }
  364.  
  365. .tabbrowser-tab:is([visuallyselected]):not([pinned]) + .tabbrowser-tab:not([visuallyselected]):last-of-type {
  366.     padding-inline: 2px 20px !important;
  367.     margin-left: -18px !important;
  368. }
  369.  
  370. #tabbrowser-tabs:not([overflow]) .tabbrowser-tab:is([visuallyselected]):not([pinned]):last-of-type {
  371.     padding-right: 0px !important;
  372. }
  373.  
  374.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement