invidious-mod/assets/css/default.css

679 行
11 KiB
CSS
Raw 通常表示 履歴

2023-04-25 02:44:15 +09:00
/*
* Common attributes
*/
html,
body {
2019-08-17 10:06:21 +09:00
font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica,
Arial, sans-serif;
}
#contents {
display: flex;
flex-direction: column;
2021-04-09 23:29:18 +09:00
min-height: 100vh;
}
2023-04-25 02:44:15 +09:00
.h-box {
padding-left: 1em;
padding-right: 1em;
}
.v-box {
padding-top: 1em;
padding-bottom: 1em;
}
.deleted {
background-color: rgb(255, 0, 0, 0.5);
}
.underlined {
border-bottom: 1px solid;
margin-bottom: 20px;
}
2023-04-25 02:44:15 +09:00
.title {
margin: 0.5em 0 1em 0;
}
/* A flex container */
.flexible {
display: flex;
align-items: center;
}
.flex-left {
display: flex;
flex: 1 1 auto;
flex-flow: row wrap;
justify-content: flex-start;
}
.flex-right {
display: flex;
flex: 2 0 auto;
flex-flow: row nowrap;
justify-content: flex-end;
}
/*
* Channel page
*/
.channel-profile > * {
font-size: 1.17em;
font-weight: bold;
vertical-align: middle;
border-radius: 50%;
}
.channel-profile > img {
2019-07-02 02:08:29 +09:00
width: 48px;
height: auto;
}
2020-11-18 08:10:32 +09:00
body a.channel-owner {
2019-02-22 08:43:49 +09:00
background-color: #008bec;
2019-02-03 08:13:40 +09:00
color: #fff;
border-radius: 9px;
padding: 1px 6px;
}
.creator-heart-container {
2019-02-22 08:43:49 +09:00
display: inline-block;
padding: 0px 7px 6px 0px;
margin: 0px -7px -4px 0px;
}
.creator-heart {
display: inline-block;
2019-02-22 08:43:49 +09:00
position: relative;
width: 16px;
height: 16px;
border: 2px none;
}
.creator-heart-background-hearted {
2019-02-22 08:43:49 +09:00
width: 16px;
height: 16px;
padding: 0px;
position: relative;
}
.creator-heart-small-hearted {
2019-02-22 08:43:49 +09:00
position: absolute;
right: -7px;
bottom: -4px;
}
.creator-heart-small-container {
display: block;
2019-02-22 08:43:49 +09:00
position: relative;
width: 13px;
height: 13px;
color: rgb(255, 0, 0);
}
.feed-menu {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.feed-menu-item {
text-align: center;
}
@media screen and (max-width: 640px) {
.feed-menu-item {
flex: 0 0 40%;
}
}
2018-04-18 05:53:12 +09:00
div {
overflow-wrap: break-word;
word-wrap: break-word;
}
.loading {
2019-03-20 23:20:31 +09:00
display: inline-block;
animation: spin 2s linear infinite;
}
2018-10-08 11:11:33 +09:00
.playlist-restricted {
height: 20em;
padding-right: 10px;
}
2023-04-21 01:55:35 +09:00
/*
* Buttons
*/
2020-11-18 08:10:32 +09:00
body a.pure-button {
color: rgba(0,0,0,.8);
}
button.pure-button-primary,
2020-11-18 08:10:32 +09:00
body a.pure-button-primary,
2023-03-24 07:10:53 +09:00
.channel-owner:hover,
.channel-owner:focus {
2018-10-21 03:47:20 +09:00
background-color: #a0a0a0;
color: rgba(35, 35, 35, 1);
}
2023-04-21 01:55:35 +09:00
.pure-button-primary,
.pure-button-secondary {
border: 1px solid #a0a0a0;
border-radius: 3px;
margin: 0 .4em;
}
.pure-button-secondary.low-profile {
padding: 5px 10px;
margin: 0;
2023-04-21 01:55:35 +09:00
}
2023-04-25 02:44:15 +09:00
/* Has to be combined with flex-left/right */
.button-container {
flex-flow: wrap;
gap: 0.5em 0.75em;
}
2023-04-21 01:55:35 +09:00
/*
2023-04-25 02:44:15 +09:00
* Video thumbnails
2023-04-21 01:55:35 +09:00
*/
div.thumbnail {
position: relative;
width: 100%;
2019-03-24 00:24:52 +09:00
box-sizing: border-box;
}
img.thumbnail {
display: block; /* See: https://stackoverflow.com/a/11635197 */
width: 100%;
2019-08-17 10:06:21 +09:00
object-fit: cover;
}
.thumbnail-placeholder {
min-height: 50px;
border: 2px dotted;
}
div.watched-overlay {
z-index: 50;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(255,255,255,.4);
2022-11-08 04:03:23 +09:00
}
div.watched-indicator {
position: absolute;
left: 0;
bottom: 0;
height: 4px;
width: 100%;
background-color: red;
}
div.thumbnail > .top-left-overlay,
div.thumbnail > .bottom-right-overlay {
z-index: 100;
position: absolute;
padding: 0;
margin: 0;
font-size: 16px;
}
.top-left-overlay { top: 0.6em; left: 0.6em; }
.bottom-right-overlay { bottom: 0.6em; right: 0.6em; }
.length {
padding: 1px;
margin: -2px 0;
color: #fff;
border-radius: 3px;
}
.length, .top-left-overlay button {
color: #eee;
background-color: rgba(35, 35, 35, 0.85) !important;
}
2023-04-21 01:55:35 +09:00
/*
* Navbar
*/
.navbar {
margin: 1em 0;
display: flex; /* this is also defined in framework, but in case of future changes */
align-items: center;
justify-content: space-between;
}
.navbar > div {
flex: 1;
}
.searchbar {
flex-grow: 2; /* take double the space of the other items */
}
.navbar a {
padding: 0; /* this way it will stay aligned with content under */
}
.navbar .index-link {
font-weight: bold;
display: inline;
}
.searchbar .pure-form fieldset { padding: 0; }
2019-08-01 16:35:57 +09:00
.searchbar input[type="search"] {
width: 100%;
margin: 1px;
border: 1px solid;
2022-06-06 07:00:20 +09:00
border-color: rgba(0,0,0,0);
border-bottom-color: #CCC;
border-radius: 0;
box-shadow: none;
2023-03-24 07:10:53 +09:00
appearance: none;
-webkit-appearance: none;
}
.searchbar input[type="search"]:focus {
margin: 0;
border: 2px solid;
2022-06-06 07:00:20 +09:00
border-color: rgba(0,0,0,0);
border-bottom-color: #FED;
}
2019-03-27 07:45:39 +09:00
/* https://stackoverflow.com/a/55170420 */
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
height: 14px;
width: 14px;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAn0lEQVR42u3UMQrDMBBEUZ9WfQqDmm22EaTyjRMHAlM5K+Y7lb0wnUZPIKHlnutOa+25Z4D++MRBX98MD1V/trSppLKHqj9TTBWKcoUqffbUcbBBEhTjBOV4ja4l4OIAZThEOV6jHO8ARXD+gPPvKMABinGOrnu6gTNUawrcQKNCAQ7QeTxORzle3+sDfjJpPCqhJh7GixZq4rHcc9l5A9qZ+WeBhgEuAAAAAElFTkSuQmCC);
background-size: 14px;
}
.user-field {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
}
.user-field div {
2022-06-06 07:00:20 +09:00
width: auto;
}
.user-field div:not(:last-child) {
margin-right: 1em;
}
2023-04-25 02:44:15 +09:00
/*
* Responsive rules
*/
2019-03-13 00:12:47 +09:00
@media only screen and (max-aspect-ratio: 16/9) {
.player-dimensions.vjs-fluid {
padding-top: 46.86% !important;
}
#player-container {
padding-bottom: 46.86% !important;
}
}
@media screen and (max-width: 767px) {
.navbar {
flex-direction: column;
}
.navbar > div {
display: flex;
justify-content: center;
2023-04-25 02:44:15 +09:00
margin-bottom: 25px;
}
.navbar > .searchbar > form {
2023-04-25 02:44:15 +09:00
width: 75%;
}
2019-05-29 00:04:04 +09:00
h1 {
font-size: 1.25em;
margin: 0.42em 0;
}
2023-04-25 02:44:15 +09:00
/* Space out the subscribe & RSS buttons and align them to the left */
.title.flexible { display: block; }
.title.flexible > .flex-right { margin: 0.75em 0; justify-content: flex-start; }
/* Space out buttons to make them easier to tap */
.user-field { font-size: 125%; }
.user-field > :not(:last-child) { margin-right: 1.75em; }
.icon-buttons { font-size: 125%; }
.icon-buttons > :not(:last-child) { margin-right: 0.75em; }
}
@media screen and (max-width: 320px) {
.navbar > .searchbar > form {
width: 100%;
margin: 0 1em;
}
}
/*
* Video "cards" (results/playlist/channel videos)
*/
.video-card-row { margin: 15px 0; }
p.channel-name { margin: 0; }
p.video-data { margin: 0; font-weight: bold; font-size: 80%; }
/*
* Comments & community posts
*/
#comments {
max-width: 800px;
margin: auto;
}
.video-iframe-wrapper {
position: relative;
height: 0;
padding-bottom: 56.25%;
}
.video-iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}
2023-04-21 01:55:35 +09:00
/*
* Page navigation
*/
.page-nav-container { margin: 15px 0 30px 0; }
.page-prev-container { text-align: start; }
.page-next-container { text-align: end; }
.page-prev-container,
.page-next-container {
display: inline-block;
}
2019-03-27 07:45:39 +09:00
/*
* Footer
*/
2021-04-06 19:45:54 +09:00
footer {
color: #919191;
margin-top: auto;
padding: 1.5em 0;
text-align: center;
max-height: 30vh;
}
2021-04-06 19:45:54 +09:00
footer a {
color: #919191 !important;
text-decoration: underline;
}
footer span {
margin: 4px 0;
display: block;
}
/* keyframes */
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
2018-08-04 08:26:12 +09:00
2019-05-12 01:09:45 +09:00
fieldset > select,
span > select {
color: rgba(49, 49, 51, 1);
}
2019-03-05 05:14:24 +09:00
.pure-control-group label {
word-wrap: normal;
}
2023-03-28 00:45:02 +09:00
.dark-theme a:hover,
.dark-theme a:active,
.dark-theme summary:hover,
.light-theme a:hover,
2021-03-14 03:57:27 +09:00
.light-theme a:active,
.light-theme summary:hover {
color: rgb(0, 182, 240);
}
.dark-theme .pure-button-primary:hover,
.dark-theme .pure-button-primary:focus,
.dark-theme .pure-button-secondary:hover,
.dark-theme .pure-button-secondary:focus {
2023-08-08 14:53:13 +09:00
color: #4f2975 !important;
border-color: rgb(238, 109, 242) !important;
background-color: rgb(176, 0, 240) !important;
}
.dark-theme .pure-button-secondary {
background-color: #0002;
color: #ddd;
}
.dark-theme a {
color: #a0a0a0;
text-decoration: none;
}
2023-03-28 00:45:02 +09:00
body.dark-theme, body.light-theme {
background-color: rgba(35, 35, 35, 1);
color: #f0f0f0;
}
2023-03-28 00:45:02 +09:00
.dark-theme .pure-form legend, .light-theme .pure-form legend {
color: #f0f0f0;
}
2023-03-28 00:45:02 +09:00
.dark-theme .pure-menu-heading, .light-theme .pure-menu-heading {
color: #f0f0f0;
}
.dark-theme input,
.dark-theme select,
2023-03-28 00:45:02 +09:00
.dark-theme textarea,
.light-theme input,
.light-theme select,
.light-theme textarea {
color: rgba(35, 35, 35, 1);
}
2023-03-28 00:45:02 +09:00
.dark-theme .pure-form input[type="file"],
.light-theme .pure-form input[type="file"] {
color: #f0f0f0;
}
2023-03-28 00:45:02 +09:00
.dark-theme .searchbar input, .searchbar input {
background-color: inherit;
color: inherit;
}
@media (prefers-color-scheme: dark) {
.no-theme a:hover,
2023-03-24 07:10:53 +09:00
.no-theme a:active,
.no-theme a:focus {
color: rgb(0, 182, 240);
}
.no-theme .pure-button-primary:hover,
.no-theme .pure-button-primary:focus,
.no-theme .pure-button-secondary:hover,
.no-theme .pure-button-secondary:focus {
color: #fff !important;
border-color: rgb(0, 182, 240) !important;
background-color: rgba(0, 182, 240, 1) !important;
}
.no-theme .pure-button-secondary {
background-color: #0002;
color: #ddd;
}
.no-theme a {
color: #a0a0a0;
text-decoration: none;
}
body.no-theme {
background-color: rgba(35, 35, 35, 1);
color: #f0f0f0;
}
.no-theme .pure-form legend {
color: #f0f0f0;
}
.no-theme .pure-menu-heading {
color: #f0f0f0;
}
.no-theme input,
.no-theme select,
.no-theme textarea {
color: rgba(35, 35, 35, 1);
}
.no-theme .pure-form input[type="file"] {
color: #f0f0f0;
}
.no-theme .searchbar input {
background-color: inherit;
color: inherit;
}
}
2023-04-21 01:55:35 +09:00
/*
* Miscellanous
*/
2021-04-07 16:09:38 +09:00
/*With commit d9528f5 all contents of the page is now within a flexbox. However,
the hr element is rendered improperly within one.
See https://stackoverflow.com/a/34372979 for more info */
hr {
margin: 10px 0 10px 0;
2021-04-07 16:09:38 +09:00
}
2021-04-02 17:03:26 +09:00
/* Description Expansion Styling*/
2023-01-16 21:58:05 +09:00
#descexpansionbutton,
2023-01-22 08:12:04 +09:00
#music-desc-expansion {
display: none;
2021-04-02 17:03:26 +09:00
}
2023-01-22 08:12:04 +09:00
#descexpansionbutton ~ div {
2021-04-02 17:03:26 +09:00
overflow: hidden;
2023-03-28 17:30:52 +09:00
}
#descexpansionbutton:not(:checked) ~ div {
max-height: 8.3em;
2021-04-02 17:03:26 +09:00
}
2023-01-22 08:12:04 +09:00
#descexpansionbutton:checked ~ div {
2021-04-02 17:03:26 +09:00
overflow: unset;
height: 100%;
}
2023-01-22 08:12:04 +09:00
#descexpansionbutton ~ label {
2021-04-02 17:03:26 +09:00
order: 1;
margin-top: 20px;
}
2023-01-16 21:58:05 +09:00
label[for="descexpansionbutton"]:hover,
2023-01-22 08:12:04 +09:00
label[for="music-desc-expansion"]:hover {
cursor: pointer;
}
/* Bidi (bidirectional text) support */
2023-04-25 02:44:15 +09:00
h1, h2, h3, h4, h5, p,
#descriptionWrapper,
2023-01-16 21:58:05 +09:00
#description-box,
2023-01-22 08:12:04 +09:00
#music-description-box {
2023-01-16 21:58:05 +09:00
unicode-bidi: plaintext;
text-align: start;
}
#descriptionWrapper {
2023-01-16 21:58:05 +09:00
max-width: 600px;
white-space: pre-wrap;
}
2023-01-22 08:12:04 +09:00
#music-description-box {
display: none;
}
#music-desc-expansion:checked ~ #music-description-box {
display: block;
}
#music-desc-expansion ~ label > h3 > .ion-ios-arrow-up,
#music-desc-expansion:checked ~ label > h3 > .ion-ios-arrow-down {
display: none;
}
#music-desc-expansion:checked ~ label > h3 > .ion-ios-arrow-up,
#music-desc-expansion ~ label > h3 > .ion-ios-arrow-down {
display: inline;
2023-01-16 21:58:05 +09:00
}
2023-01-22 08:12:04 +09:00
/* Select all the music items except the first one */
.music-item + .music-item {
border-top: 1px solid #ffffff;
}
/* Center the "invidious" logo on the search page */
#logo > h1 { text-align: center; }
/* IE11 fixes */
2022-06-06 07:00:20 +09:00
:-ms-input-placeholder { color: #888; }
/* Wider settings name to less word wrap */
.pure-form-aligned .pure-control-group label { width: 19em; }
2023-03-02 21:29:44 +09:00
.channel-emoji {
margin: 0 2px;
}