mirror of
https://github.com/parchlinuxB/Gitee.git
synced 2025-02-23 02:15:43 -05:00
Add tooltip styling for smart theme
- Create new SCSS file for tooltip styles - Add tooltip background color variables in color definitions - Implement hover-based tooltip with CSS pseudo-elements - Support both light and dark color schemes - Add tooltip styling to LTR and RTL CSS files
This commit is contained in:
parent
62e64820f8
commit
b29b484da7
6 changed files with 138 additions and 0 deletions
|
@ -305,6 +305,7 @@ img, video {
|
||||||
--filled-text-color: #fff;
|
--filled-text-color: #fff;
|
||||||
--border-color: #b3b3b3;
|
--border-color: #b3b3b3;
|
||||||
--secondary-border-color: #d9d9d9;
|
--secondary-border-color: #d9d9d9;
|
||||||
|
--tooltip-background-color: #00000080;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
|
@ -318,6 +319,7 @@ img, video {
|
||||||
--filled-text-color: #fff;
|
--filled-text-color: #fff;
|
||||||
--border-color: #b3b3b3;
|
--border-color: #b3b3b3;
|
||||||
--secondary-border-color: #d9d9d9;
|
--secondary-border-color: #d9d9d9;
|
||||||
|
--tooltip-background-color: #00000080;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -343,6 +345,46 @@ img, video {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[tooltip] {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
[tooltip]:after {
|
||||||
|
content: attr(tooltip);
|
||||||
|
background: var(--tooltip-background-color);
|
||||||
|
color: var(--filled-text-color);
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0;
|
||||||
|
border-radius: .5rem;
|
||||||
|
padding: .25rem 1rem;
|
||||||
|
transition: opacity .25s ease-in-out;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 100%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
[tooltip]:before {
|
||||||
|
content: " ";
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px;
|
||||||
|
border-color: var(--tooltip-background-color) transparent transparent transparent;
|
||||||
|
transition: opacity .25s ease-in-out;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 100%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(calc(-50% - 1rem), 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
[tooltip]:hover:after, [tooltip]:hover:before {
|
||||||
|
opacity: 1;
|
||||||
|
transition: opacity .25s ease-in-out .5s;
|
||||||
|
}
|
||||||
|
|
||||||
.info-box {
|
.info-box {
|
||||||
background: var(--background-color);
|
background: var(--background-color);
|
||||||
border-radius: 2rem;
|
border-radius: 2rem;
|
||||||
|
|
|
@ -251,6 +251,7 @@ img, video {
|
||||||
--filled-text-color: #fff;
|
--filled-text-color: #fff;
|
||||||
--border-color: #b3b3b3;
|
--border-color: #b3b3b3;
|
||||||
--secondary-border-color: #d9d9d9;
|
--secondary-border-color: #d9d9d9;
|
||||||
|
--tooltip-background-color: #00000080;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
|
@ -264,6 +265,7 @@ img, video {
|
||||||
--filled-text-color: #fff;
|
--filled-text-color: #fff;
|
||||||
--border-color: #b3b3b3;
|
--border-color: #b3b3b3;
|
||||||
--secondary-border-color: #d9d9d9;
|
--secondary-border-color: #d9d9d9;
|
||||||
|
--tooltip-background-color: #00000080;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -289,6 +291,46 @@ img, video {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[tooltip] {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
[tooltip]:after {
|
||||||
|
content: attr(tooltip);
|
||||||
|
background: var(--tooltip-background-color);
|
||||||
|
color: var(--filled-text-color);
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0;
|
||||||
|
border-radius: .5rem;
|
||||||
|
padding: .25rem 1rem;
|
||||||
|
transition: opacity .25s ease-in-out;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 100%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
[tooltip]:before {
|
||||||
|
content: " ";
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 5px;
|
||||||
|
border-color: var(--tooltip-background-color) transparent transparent transparent;
|
||||||
|
transition: opacity .25s ease-in-out;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 100%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(calc(-50% - 1rem), 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
[tooltip]:hover:after, [tooltip]:hover:before {
|
||||||
|
opacity: 1;
|
||||||
|
transition: opacity .25s ease-in-out .5s;
|
||||||
|
}
|
||||||
|
|
||||||
.info-box {
|
.info-box {
|
||||||
background: var(--background-color);
|
background: var(--background-color);
|
||||||
border-radius: 2rem;
|
border-radius: 2rem;
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
--filled-text-color: #{$filled-text-color};
|
--filled-text-color: #{$filled-text-color};
|
||||||
--border-color: #{color.mix($text-color, $background-color, 30%)};
|
--border-color: #{color.mix($text-color, $background-color, 30%)};
|
||||||
--secondary-border-color: #{color.mix($text-color, $background-color, 15%)};
|
--secondary-border-color: #{color.mix($text-color, $background-color, 15%)};
|
||||||
|
--tooltip-background-color: #{$tooltip-background-color};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,5 +28,6 @@
|
||||||
--filled-text-color: #{$filled-text-color-dark};
|
--filled-text-color: #{$filled-text-color-dark};
|
||||||
--border-color: #{color.mix($text-color-dark, $background-color-dark, 30%)};
|
--border-color: #{color.mix($text-color-dark, $background-color-dark, 30%)};
|
||||||
--secondary-border-color: #{color.mix($text-color-dark, $background-color-dark, 15%)};
|
--secondary-border-color: #{color.mix($text-color-dark, $background-color-dark, 15%)};
|
||||||
|
--tooltip-background-color: #{$tooltip-background-color-dark};
|
||||||
}
|
}
|
||||||
}
|
}
|
47
searx/static/themes/smart/src/scss/_tooltip.scss
Normal file
47
searx/static/themes/smart/src/scss/_tooltip.scss
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
@use './mixins.scss' as mixin;
|
||||||
|
|
||||||
|
*[tooltip] {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
*[tooltip]::after {
|
||||||
|
content: attr(tooltip);
|
||||||
|
position: absolute;
|
||||||
|
bottom: 100%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
background: var(--tooltip-background-color);
|
||||||
|
color: var(--filled-text-color);
|
||||||
|
padding: .25rem 1rem;
|
||||||
|
@include mixin.rounded(sm);
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 250ms ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
*[tooltip]::before {
|
||||||
|
content: " ";
|
||||||
|
position: absolute;
|
||||||
|
bottom: 100%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(calc(-50% - 1rem), 100%);
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 250ms ease-in-out;
|
||||||
|
border-width: 5px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: var(--tooltip-background-color) transparent transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
*[tooltip]:hover::after {
|
||||||
|
opacity: 1;
|
||||||
|
transition: opacity 250ms ease-in-out 500ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
*[tooltip]:hover::before {
|
||||||
|
opacity: 1;
|
||||||
|
transition: opacity 250ms ease-in-out 500ms;
|
||||||
|
}
|
|
@ -8,6 +8,7 @@ $background-color: #ffffff;
|
||||||
$secondary-background-color: #f8f8f8;
|
$secondary-background-color: #f8f8f8;
|
||||||
$text-color: #000000;
|
$text-color: #000000;
|
||||||
$filled-text-color: #ffffff;
|
$filled-text-color: #ffffff;
|
||||||
|
$tooltip-background-color: rgba(0, 0, 0, .5);
|
||||||
|
|
||||||
// Dark theme
|
// Dark theme
|
||||||
$primary-color-dark: $primary-color;
|
$primary-color-dark: $primary-color;
|
||||||
|
@ -16,6 +17,7 @@ $background-color-dark: $background-color;
|
||||||
$secondary-background-color-dark: $secondary-background-color;
|
$secondary-background-color-dark: $secondary-background-color;
|
||||||
$text-color-dark: $text-color;
|
$text-color-dark: $text-color;
|
||||||
$filled-text-color-dark: $filled-text-color;
|
$filled-text-color-dark: $filled-text-color;
|
||||||
|
$tooltip-background-color-dark: $tooltip-background-color;
|
||||||
|
|
||||||
// - Screens -
|
// - Screens -
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,9 @@ $dir: ltr !default;
|
||||||
// Button
|
// Button
|
||||||
@use 'button';
|
@use 'button';
|
||||||
|
|
||||||
|
// Tooltip
|
||||||
|
@use 'tooltip';
|
||||||
|
|
||||||
@forward './infobox.scss';
|
@forward './infobox.scss';
|
||||||
|
|
||||||
// Result Styles
|
// Result Styles
|
||||||
|
|
Loading…
Add table
Reference in a new issue