pixivfe/template/css/style.scss

474 lines
7.3 KiB
SCSS

$bg: #131516;
$fg: #d8d4cf;
$bg-alt: #262a2b;
$bg-alt-dimmed: #262a2b99;
$blue: #3d7699;
$red: #ff4060;
* {
box-sizing: border-box;
}
body {
top: 0;
margin: 0;
font-family: "Open Sans", "Noto Sans", sans-serif;
font-size: 1rem;
color: $fg;
background-color: $bg;
}
.container {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
padding-left: 10px;
padding-right: 10px;
}
.thumbnail-container {
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
margin-top: 5px;
margin-bottom: 5px;
}
.navbar {
margin-left: 2rem;
margin-right: 2rem;
.navbar-brand {
display: inline-flex;
align-items: center;
font-size: 1.2rem;
color: $fg;
text-decoration: none;
img {
margin-right: 9px;
width: 30px;
height: 30px;
}
}
.navbar-list {
display: flex;
padding: 0;
justify-content: space-between;
list-style-type: none;
}
.search-bar {
width: 500px;
.search-form-text {
width: 100%;
background-color: $bg-alt;
padding: 7px 10px;
margin: 0;
border: none;
color: $fg;
&::placeholder {
color: $fg;
}
}
}
.navbar-button {
display: inline-block;
margin-left: 5px;
}
}
.artwork-thumbnail {
position: relative;
display: inline-block;
margin-right: 0.5rem;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
img {
object-fit: cover;
}
.artwork-rank-circle {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
width: 1rem;
height: 1rem;
top: 0.3rem;
left: 0.3rem;
border-radius: 50%;
padding: 1rem;
background-color: $bg-alt;
}
.artwork-page-count {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0.3rem;
right: 0.3rem;
border-radius: 20px;
padding: 0.3rem;
background-color: $bg-alt-dimmed;
span {
display: flex;
font-size: 0.7rem;
font-weight: bold;
align-items: center;
justify-content: center;
width: max-content;
height: 0.5rem;
}
}
.artwork-profanity-label {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0.3rem;
left: 0.3rem;
border-radius: 20px;
padding: 0.3rem;
background-color: $red;
span {
display: flex;
font-size: 0.7rem;
font-weight: bold;
align-items: center;
justify-content: center;
width: max-content;
height: 0.5rem;
}
}
.artwork-thumbnail-title {
margin: 0.4rem;
max-width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: block;
color: inherit;
text-decoration: none;
font-weight: bold;
font-size: 0.9rem;
}
.artwork-master-image {
width: 100%;
height: 100%;
object-position: center center;
}
.artwork-thumbnail-artist {
max-width: 100%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-decoration: none;
color: inherit;
display: flex;
align-items: center;
}
.artwork-thumbnail-artist-avatar {
margin-right: 5px;
width: 24px;
height: 24px;
object-position: center top;
}
}
.artwork-thumbnail-small {
width: 184px;
height: 184px;
}
.artwork-thumbnail-large {
width: 288px;
height: 288px;
}
.spotlight-thumbnail {
width: 400px;
height: 250px;
display: inline-block;
position: relative;
text-align: left;
color: white;
.spotlight-master-image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
filter: brightness(75%);
}
.spotlight-title-wrapper {
position: absolute;
display: block;
bottom: 0;
left: 0;
width: 100%;
.spotlight-title {
margin-left: 10px;
margin-right: 10px;
margin-bottom: 10px;
font-size: 1rem;
line-height: 28px;
overflow: hidden;
overflow-wrap: break-word;
word-break: break-word;
hyphens: auto;
text-overflow: ellipsis;
}
}
}
.artwork-page {
background: $bg-alt;
.artwork-content {
margin: 0 20px;
font-size: 0.9rem;
a {
color: $blue;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}
.artwork-artist {
display: flex;
align-items: center;
.artwork-artist-avatar {
margin-right: 8px;
width: 50px;
height: 50px;
object-position: center top;
}
}
.artwork-tags {
display: inline-block;
.artwork-tag-name {
margin-right: 5px;
color: $blue;
font-weight: bold;
}
.artwork-tag-altname {
margin-right: 8px;
}
.emphasize {
color: $red;
}
}
.artwork-images {
display: flex;
align-items: center;
flex-direction: column;
width: 100%;
.artwork-image-page {
margin: 10px auto;
max-height: 578px;
width: auto;
max-width: 100%;
}
}
.comment {
display: flex;
margin-bottom: 10px;
p {
margin: 0;
}
.comment-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
margin-right: 10px;
}
.stamp {
width: 96px;
height: 96px;
border-radius: 4px;
}
}
}
.user-background {
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
height: 40vw;
img {
width: 100%;
}
}
.user-background-placeholder {
display: flex;
height: 10vw;
min-height: 100px;
background-color: $bg-alt;
}
.user-page {
transform: translateY(-4rem);
.user-details {
text-align: center;
.user-name,
.user-id {
margin: 2px;
}
.user-avatar {
width: 144px;
height: 144px;
border-radius: 50%;
}
}
}
.tag-header {
display: flex;
.tag-thumbnail {
width: 120px;
height: 120px;
border-radius: 5px;
margin-right: 20px;
object-fit: cover;
object-position: center center;
}
.tag-details {
.main-tag {
font-size: 1.2rem;
}
}
}
.tag-container {
background-color: $bg-alt;
display: inline-block;
padding: 5px 10px;
text-decoration: none;
color: $fg;
}
.switcher {
border-radius: 10px;
.switch-title {
margin-right: 5px;
}
.switch-button {
display: inline-block;
padding: 8px 5px;
margin-top: 5px;
background-color: $bg-alt;
color: $fg;
text-decoration: none;
text-decoration-color: $fg;
&:hover {
background-color: $bg-alt-dimmed;
text-decoration: underline;
}
}
.switch-seperator {
display: inline-block;
margin-left: 10px;
}
}
.pagination {
width: 100%;
text-align: center;
margin-top: 8px;
margin-bottom: 8px;
.pagination-button {
display: inline-block;
padding: 5px;
color: $fg;
}
.disabled {
pointer-events: none;
background-color: #333;
}
}
.footer {
text-align: center;
font-size: small;
margin-top: 8px;
margin-bottom: 8px;
a {
color: $fg;
text-decoration: none;
}
}
@media screen and (max-width: 800px) {
.search-bar {
display: none;
}
}
@media screen and (min-width: 400px) and (max-width: 800px) {
/* 400px <= device width <= 800px */
.artwork-mobile {
width: 45vw;
}
}
@media screen and (max-width: 400px) {
.artwork-mobile {
width: 100%;
}
}