202 lines
5.9 KiB
CSS
Executable file
202 lines
5.9 KiB
CSS
Executable file
/*
|
|
* Minimalist find bar
|
|
* Forum link: https://forum.vivaldi.net/topic/54938/minimalist-find-bar-css-mod
|
|
*/
|
|
|
|
:root {
|
|
--caribbean-green: #00cc99
|
|
}
|
|
|
|
/* Minimalist find bar */
|
|
.find-in-page {
|
|
position: fixed;
|
|
z-index: 3;
|
|
bottom: 0;
|
|
left: 118px;
|
|
right: 0;
|
|
justify-content: left;
|
|
max-width: 382px;
|
|
margin: auto;
|
|
background: transparent;
|
|
}
|
|
|
|
.find-in-page .fip-input-label {
|
|
display: none;
|
|
}
|
|
/* findbox */
|
|
.find-in-page:not(.fip-nomatches) .fip-input-container > * {
|
|
color: TURQUOISE;
|
|
font-weight: 500;
|
|
text-shadow: 0px 0px 4px black, 1px 1px 1px black;
|
|
}
|
|
|
|
.find-in-page:not(.fip-nomatches) .fip-input-container:is(:hover, :focus-within) > * {
|
|
color: var(--caribbean-green);
|
|
}
|
|
|
|
.find-in-page:not(.fip-nomatches) input[type="search"] {
|
|
box-shadow: 0 1px #ffd70099;
|
|
background: linear-gradient(55deg, rgba(0,0,0,.2), rgba(0,0,0,.05));
|
|
border-radius: var(--radius) var(--radius) 0 0;
|
|
border: none;
|
|
outline: none;
|
|
backdrop-filter: blur(2px);
|
|
}
|
|
|
|
.find-in-page:not(.fip-nomatches) input[type="search"]:focus-within {
|
|
box-shadow: 0 -1px var(--caribbean-green) inset, 0 1px #ffbe00;
|
|
}
|
|
|
|
.find-in-page:not(.fip-nomatches) .fip-input-container > input[type=search]::-webkit-search-cancel-button {
|
|
filter: sepia(100%) saturate(550%) brightness(104%) opacity(77%) drop-shadow(.7px .7px 1.4px #0008);
|
|
} /* yellow */
|
|
/.find-in-page:not(.fip-nomatches) .fip-input-container > input[type=search]::-webkit-search-cancel-button {
|
|
filter: sepia(98%) saturate(270%) hue-rotate(102deg) brightness(103%) contrast(106%) opacity(70%) drop-shadow(1px 0 1.5px #0009);
|
|
} /* optional: turquoise clear button */
|
|
/* nomatch alert */
|
|
.find-in-page.fip-nomatches .fip-input-container > input {
|
|
font-weight: 500;
|
|
color: maroon;
|
|
background-color: #ffbbffD9;
|
|
box-shadow: 0 0 4px pink inset, 0 0 0 .6px magenta inset;
|
|
border: none;
|
|
outline: none;
|
|
backdrop-filter: blur(2px);
|
|
transition-delay: .1s !important;
|
|
}
|
|
|
|
.find-in-page.fip-nomatches:not(:hover):not(:focus-within) .fip-input-container > input {
|
|
color: mediumviolet;
|
|
background: linear-gradient(55deg, #ffbbff80, #ffbbff33);
|
|
box-shadow: none;
|
|
transition-delay: .1s !important;
|
|
}
|
|
|
|
.find-in-page.fip-nomatches .fip-input-container > input[type=search]::-webkit-search-cancel-button {
|
|
filter: invert(45%) sepia(25%) saturate(5900%) hue-rotate(311deg) brightness(100%) contrast(65%) drop-shadow(.5px .5px .6px pink);
|
|
transition-delay: .1s !important;
|
|
}
|
|
|
|
.find-in-page.fip-nomatches:focus-within .fip-input-container > input {
|
|
animation: shake 1s steps(2) .15s 2 !important;
|
|
}
|
|
|
|
@keyframes shake {
|
|
9% {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
1%, 5% {
|
|
transform: translateX(-4px);
|
|
}
|
|
|
|
3%, 7% {
|
|
transform: translateX(5px);
|
|
}
|
|
}
|
|
/* autohide buttons */
|
|
.find-in-page > :nth-last-child(-n+3) > * {
|
|
opacity: 0;
|
|
outline: none;
|
|
backdrop-filter: blur(2px);
|
|
transition: opacity .13s ease-out !important;
|
|
}
|
|
|
|
.find-in-page:is(:hover, :focus-within) > :nth-last-child(-n+3) > * {
|
|
opacity: 1;
|
|
}
|
|
/* arrow buttons */
|
|
.find-in-page > .toolbar-group button {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
filter: drop-shadow(.5px .5px maroon) drop-shadow(1px 1px 1px #000D);
|
|
}
|
|
|
|
.find-in-page > .toolbar-group button > span {
|
|
fill: TURQUOISE;
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.find-in-page > .toolbar-group button:is(:hover, :focus-within) svg {
|
|
fill: var(--caribbean-green);
|
|
transform: scale(1.3);
|
|
}
|
|
/* close button */
|
|
.find-in-page button[title='Cancel search'] {
|
|
fill: TURQUOISE;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
}
|
|
|
|
.find-in-page button[title='Cancel search']:not(:hover):not(:focus-within) > span {
|
|
filter: drop-shadow(.6px .6px maroon) drop-shadow(1px 1px 1px #000D);
|
|
}
|
|
|
|
.find-in-page button[title='Cancel search']:is(:hover, :focus-within) {
|
|
fill: red;
|
|
box-shadow: 0 0 0 1.7px red inset;
|
|
filter: drop-shadow(.5px .5px maroon) drop-shadow(.8px .8px .9px #000D);
|
|
transition: box-shadow .12s !important;
|
|
}
|
|
/.find-in-page > .toolbar-group {
|
|
display: flex;
|
|
order: 1;
|
|
} /* optional: reorder close button closer to findbox */
|
|
/* check-box */
|
|
.find-in-page label > input[type=checkbox] {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
box-shadow: 0 0 0 1.7px TURQUOISE inset !important;
|
|
filter: drop-shadow(.5px .5px maroon) drop-shadow(.8px .8px 1px #000D);
|
|
}
|
|
|
|
.find-in-page label:is(:hover, :focus-within) > input[type=checkbox] {
|
|
box-shadow: 0 0 0 1.7px var(--caribbean-green) inset !important;
|
|
}
|
|
/* match text */
|
|
.find-in-page .fip-checkbox-label {
|
|
color: var(--caribbean-green);
|
|
font-size: 85%;
|
|
padding-right: 4px;
|
|
margin-left: -48px;
|
|
transform: translateX(50px);
|
|
background-color: transparent;
|
|
text-shadow: 0 0, 1px 1px 1px maroon, 1px 1px 2px #000D, 1px 1px 3px #000D, 1px 1px 4px #000D;
|
|
transition: .13s !important;
|
|
}
|
|
|
|
.find-in-page label:not(:hover) > input[type=checkbox]:not(:focus-visible) ~ .fip-checkbox-label {
|
|
font-size: 0;
|
|
}
|
|
|
|
.find-in-page:not(:hover):not(:focus-within) label > input[type=checkbox]:checked ~ .fip-checkbox-label {
|
|
opacity: 1;
|
|
font-size: 85% !important;
|
|
margin-left: -140px;
|
|
}
|
|
/* automate find box during small window */
|
|
@media only screen and (max-width: 600px) {
|
|
.find-in-page .fip-checkbox-label {
|
|
margin-left: 0;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.find-in-page:not(:hover):not(:focus-within) label > input[type=checkbox]:checked ~ .fip-checkbox-label {
|
|
margin-left: -95px;
|
|
}
|
|
}
|
|
/* enter & exit animation */
|
|
.find-in-page.find-in-page-enter {
|
|
transform: scaleX(0);
|
|
transition: transform 150ms ease-out, opacity 100ms ease-out !important;
|
|
}
|
|
|
|
.find-in-page.find-in-page-enter-active {
|
|
transform: scaleX(1);
|
|
}
|
|
|
|
.find-in-page.find-in-page-exit-active {
|
|
transform: scaleX(0);
|
|
transition: transform 150ms ease-in, opacity 150ms ease-in !important;
|
|
}
|