Better Icons for Invidious

using css icon alternatives instead of font variant.

目前為 2022-02-14 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

/* ==UserStyle==
@name Better Icons for Invidious
@description using css icon alternatives instead of font variant.
@author NotYou
@namespace -
@version 0.2
@license GPL-3.0
@license-link https://www.gnu.org/licenses/gpl-3.0.txt
==/UserStyle== */

@-moz-document domain("yewtu.be"), domain("invidious.snopyta.org"), domain("vid.puffyan.us"), domain("invidious.kavin.rocks"), domain("invidio.xamh.de"), domain("inv.riverside.rocks"), domain("invidious-us.kavin.rocks"), domain("inv.cthd.icu"), domain("yt.artemislena.eu"), domain("youtube.076.ne.jp"), domain("invidious.osi.kr"), domain("invidious.namazso.eu") {
.ion-ios-cog {
    box-sizing: border-box;
    position: relative;
    display: block;
    transform: scale(var(--ggs,1));
    width: 10px;
    height: 2px;
    box-shadow: -3px 4px 0 0, 3px -4px 0 0;
}

.ion-ios-cog::after, .ion-ios-cog::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 8px;
    height: 8px;
    border: 2px solid;
    border-radius: 100%;
}

.ion-ios-cog::before {
    top: -7px;
    left: -4px;
}

.ion-ios-cog::after {
    bottom: -7px;
    right: -4px;
}

.ion-ios-notifications-outline, .ion-ios-notifications-outline::before {
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
}

.ion-ios-notifications-outline {
    box-sizing: border-box;
    position: relative;
    display: block;
    transform: scale(var(--ggs,1));
    border: 2px solid;
    border-bottom: 0;
    width: 14px;
    height: 14px;
}

.ion-ios-notifications-outline::after, .ion-ios-notifications-outline::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
}

.ion-ios-notifications-outline::before {
    background: currentColor;
    width: 4px;
    height: 4px;
    top: -4px;
    left: 3px;
}

.ion-ios-notifications-outline::after {
    width: 16px;
    height: 10px;
    border: 6px solid transparent;
    border-top: 1px solid transparent;
    box-shadow: inset 0 0 0 4px, 0 -2px 0 0;
    top: 14px;
    left: -3px;
    border-radius: 0px 0px 20px 20px;
}

.ion-ios-notifications, .ion-ios-notifications::before {
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
}

.ion-ios-notifications {
    background: currentcolor none repeat scroll 0% 0%;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    border: 2px solid;
    border-bottom: 0;
    width: 14px;
    height: 14px;
}

.ion-ios-notifications::after, .ion-ios-notifications::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
}

.ion-ios-notifications::before {
    background: currentColor;
    width: 4px;
    height: 4px;
    top: -4px;
    left: 3px;
}

.ion-ios-notifications::after {
    width: 16px;
    height: 10px;
    border: 6px solid transparent;
    border-top: 1px solid transparent;
    box-shadow: inset 0 0 0 4px, 0 -2px 0 0;
    top: 14px;
    left: -3px;
    border-radius: 0px 0px 20px 20px;
}

.ion-ios-moon {
    background: white;
    height: 18px;
    width: 18px;
    display: inline-block;
    border-radius: 10px;
    box-shadow: currentcolor -6px 2px 0px;
    margin-right: -8px;
}

.ion-ios-moon::before {
    content: "";
}

.ion-ios-sunny::before {
    content: "";
}

.ion-ios-sunny::after {
    transform: rotate(45deg);
}

.ion-ios-sunny::after, .ion-ios-sunny::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 24px;
    height: 2px;
    border-right: 4px solid;
    border-left: 4px solid;
    left: -6px;
    top: 5px;
}

.ion-ios-sunny::before {
    transform: rotate(-45deg);
}

.ion-ios-sunny {
    box-sizing: border-box;
    position: relative;
    display: block;
    transform: scale(var(--ggs,1));
    width: 24px;
    height: 24px;
    background: linear-gradient(currentcolor 4px, #f000 0px) no-repeat scroll 5px -6px / 2px 6px, linear-gradient(currentcolor 4px, transparent 0px) no-repeat scroll 5px 14px / 2px 6px, linear-gradient(currentcolor 4px, transparent 0px) no-repeat scroll -8px 5px / 6px 2px, rgba(0, 0, 0, 0) linear-gradient(currentcolor 4px, transparent 0px) no-repeat scroll 14px 5px / 6px 2px;
    border-radius: 100px;
    box-shadow: 0px 0px 26px 2px inset;
    border: 6px solid #f000;
}

.ion-ios-paper {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 14px;
    height: 16px;
    border: 2px solid transparent;
    border-right: 0;
    border-top: 0;
    box-shadow: 0 0 0 2px;
    border-radius: 1px;
    border-top-right-radius: 4px;
    overflow: hidden;
}

.ion-ios-paper::after, .ion-ios-paper::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
}

.ion-ios-paper::before {
    content: "";
    background: currentColor;
    box-shadow: 0 4px 0, -6px -4px 0;
    left: 0;
    width: 10px;
    height: 2px;
    top: 8px;
}

.ion-ios-paper::after {
    width: 6px;
    height: 6px;
    border-left: 2px solid;
    border-bottom: 2px solid;
    right: -1px;
    top: -1px;
}

.ion-logo-javascript::before {
    content: "JS";
    background: #fded00;
    color: rgb(0, 0, 0);
    padding: 8px 2px 1px 6px;
    font-weight: 700;
}

.ion-ios-wallet {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,0.8));
    width: 2px;
    height: 20px;
    background: currentColor;
    margin-bottom: -4px;
    margin-right: 2px;
}

.ion-ios-wallet::after, .ion-ios-wallet::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 12px;
    height: 8px;
    border: 2px solid;
}

.ion-ios-wallet::before {
    border-right: 0;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    top: 3px;
    left: -6px;
    box-shadow: 4px -2px 0 -2px;
}

.ion-ios-wallet::after {
    border-left: 0;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    bottom: 3px;
    right: -6px;
    box-shadow: -4px 2px 0 -2px;
}

.ion-logo-github {
    transform: scale(var(--ggs,1));
    margin-bottom: -3px;
    padding-right: 10px;
}

.ion-logo-github, .ion-logo-github::after, .ion-logo-github::before {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    width: 8px;
    height: 20px
}

.ion-logo-github::after, .ion-logo-github::before {
    content: "";
    position: absolute;
    height: 8px;
    border-left: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(45deg) scaleY(1);
    left: -4px;
    top: 6px
}

.ion-logo-github::after {
    transform: rotate(-45deg) scaleX(-1);
    left: 4px
}

.ion-md-jet::before {
    content: "";
}

.ion-md-jet {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    border-radius: 40px;
    border: 2px solid;
    margin-bottom: -2px;
    border-left-color: transparent;
    border-right-color: transparent;
    width: 18px;
    height: 18px;
}

.ion-md-jet::after, .ion-md-jet::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    transform: rotate(-45deg);
}

.ion-md-jet::before {
    border-left: 6px solid;
    bottom: -1px;
    right: -3px;
}

.ion-md-jet::after {
    border-right: 6px solid;
    top: -1px;
    left: -3px;
}

.ion-md-headset::before {
    content: "";
}

.ion-md-headset {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 18px;
    height: 16px;
    border-top-left-radius: 120px;
    border-top-right-radius: 120px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    border: 2px solid;
    border-bottom: 0;
}

.ion-md-headset::after, .ion-md-headset::before {
    background: currentColor;
    border-radius: 8px;
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    border: 2px solid;
    width: 6px;
    height: 8px;
    top: 8px;
}

.ion-md-headset::before {
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    left: -2px;
}

.ion-md-headset::after {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    left: 10px;
}

.ion-ios-videocam {
    background: currentColor;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1.1));
    border: 2px solid;
    border-radius: 4px;
    width: 18px;
    height: 15px;
    perspective: 24px;
    margin-bottom: 4px;
}

.ion-ios-videocam::after, .ion-ios-videocam::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    margin-right: -4px;
}

.ion-ios-videocam::before {
    background: currentColor;
    border: 4px solid;
    border-left-color: transparent;
    transform: rotateY(-70deg);
    width: 8px;
    height: 8px;
    right: -7px;
    top: 1px;
}

.ion-ios-videocam::after {
    border-right: 2px solid;
    top: -5px;
    right: 2px;
    border-top-right-radius: 2px;
}


.ion-logo-youtube {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 18px;
    height: 12px;
    border-radius: 3px 3px 3px 3px;
    background: red;
    color: rgb(255, 255, 255) !important;
}
.ion-logo-youtube::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    left: 8px;
    top: 3px;
    border-left: 4px solid currentColor;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
}

.ion-ios-eye {
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 24px;
    height: 18px;
    border-bottom-right-radius: 100px;
    border-bottom-left-radius: 100px;
    overflow: hidden;
    box-sizing: border-box;
}

.ion-ios-eye::after, .ion-ios-eye::before {
    content: "";
    display: block;
    border-radius: 100px;
    position: absolute;
    box-sizing: border-box;
}

.ion-ios-eye::after {
    top: 2px;
    box-shadow: inset 0 -8px 0 2px, inset 0 0 0 2px;
    width: 24px;
    height: 24px;
}

.ion-ios-eye::before {
    width: 8px;
    height: 8px;
    border: 2px solid transparent;
    box-shadow: inset 0 0 0 6px, 0 0 0 4px, 6px 0 0 0, -6px 0 0 0 ;
    bottom: 4px;
    left: 8px;
}

.ion-md-trash {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1));
    width: 10px;
    height: 12px;
    border: 2px solid transparent;
    box-shadow: 0 0 0 2px, inset -2px 0 0, inset 2px 0 0;
    border-bottom-left-radius: 1px;
    border-bottom-right-radius: 1px;
    margin-top: 4px;
    color: rgb(224, 224, 224);
}

.ion-md-trash:hover {
    color: rgb(255, 255, 255);
}

.ion-md-trash::after, .ion-md-trash::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
}

.ion-md-trash::after {
    background: currentColor;
    border-radius: 3px;
    width: 16px;
    height: 2px;
    top: -4px;
    left: -5px;
}

.ion-md-trash::before {
    width: 10px;
    height: 4px;
    border: 2px solid;
    border-bottom: transparent;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    top: -7px;
    left: -2px;
}

.ion-logo-rss::after {
    width: 4px !important;
    height: 4px !important;
    border-style: solid !important;
    border-width: 2px !important;
    border-color: transparent currentcolor transparent transparent !important;
    border-image: none 100% / 1 0 stretch !important;
    bottom: -2px !important;
    left: -2px !important;
}

.ion-logo-rss::after, .ion-logo-rss::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 20px;
    height: 20px;
    border-style: double;
    border-width: 6px;
    border-color: transparent currentcolor transparent transparent;
    border-image: none 100% / 1 0 stretch;
    border-radius: 50%;
    transform: rotate(-45deg);
    bottom: -10px;
    left: -10px;
}

.ion-logo-rss {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    transform: scale(var(--ggs,1.4));
    width: 20px;
    height: 16px;
    border-radius: 2px;
}

#descexpansionbutton:checked ~ label > a::after {
    content: "↑ Show less";
}

#descexpansionbutton ~ label > a::after {
    content: "↓ Show more";
}

.ion-ios-heart::after {
    right: -9px;
    transform: rotate(90deg);
    top: 5px;
}

.ion-ios-heart::after, .ion-ios-heart::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
}

.ion-ios-heart::before {
    width: 10px;
    height: 11px;
    border-left: 2px solid;
    border-bottom: 2px solid;
    left: -2px;
    top: 3px;
}

.ion-ios-heart, .ion-ios-heart::after, .ion-ios-heart::before {
    background: currentColor;
}

.ion-ios-heart {
    box-sizing: border-box;
    position: relative;
    transform: translate(calc(-10px / 2 * var(--ggs,1)),calc(-6px / 2 * var(--ggs,1)))rotate(-46deg)scale(var(--ggs,0.8));
    display: inline-block;
}

.ion-ios-heart, .ion-ios-heart::after {
    border-color: currentcolor;
    border-style: solid solid none;
    border-width: 2px 2px 0px;
    border-image: none 100% / 1 0 stretch;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    width: 10px;
    height: 8px;
}

.ion-ios-thumbs-up::after {
    right: -9px;
    transform: rotate(90deg);
    top: 5px;
}

.ion-ios-thumbs-up::after, .ion-ios-thumbs-up::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
}

.ion-ios-thumbs-up::before {
    width: 10px;
    height: 11px;
    border-left: 2px solid;
    border-bottom: 2px solid;
    left: -2px;
    top: 3px;
}

.ion-ios-thumbs-up, .ion-ios-thumbs-up::after, .ion-ios-thumbs-up::before {
    background: currentColor;
}

.ion-ios-thumbs-up {
    box-sizing: border-box;
    position: relative;
    transform: translate(calc(-10px / 2 * var(--ggs,1)),calc(-6px / 2 * var(--ggs,1)))rotate(-46deg)scale(var(--ggs,1));
    display: inline-block;
}

.ion-ios-thumbs-up, .ion-ios-thumbs-up::after {
    border-color: currentcolor;
    border-style: solid solid none;
    border-width: 2px 2px 0px;
    border-image: none 100% / 1 0 stretch;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    width: 10px;
    height: 8px;
}

.ion-ios-thumbs-down, .ion-ios-thumbs-down::after {
    border: 2px solid;
    border-top-left-radius: 100px;
    border-top-right-radius: 100px;
    width: 10px;
    height: 8px;
    border-bottom: 0;
}

.ion-ios-thumbs-down {
    box-sizing: border-box;
    position: relative;
    transform: translate(calc(-10px / 2 * var(--ggs,1)), calc(-6px / 2 * var(--ggs,1)))rotate(-45deg)scale(var(--ggs,1));
    display: inline-block;
}

.ion-ios-thumbs-down::after, .ion-ios-thumbs-down::before {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
}

.ion-ios-thumbs-down::after {
    right: -9px;
    transform: rotate(90deg);
    top: 5px;
}

.ion-ios-thumbs-down::before {
    width: 11px;
    height: 11px;
    border-left: 2px solid;
    border-bottom: 2px solid;
    left: -2px;
    top: 3px;
}

.icon.ion-ios-thumbs-up, .icon.ion-ios-thumbs-down {
    margin-right: 2px;
    margin-bottom: 2px;
}

.dark-theme a {
    color: rgb(223, 223, 223);
}
}