Van
2019-02-21 21:46:33 +08:00
parent 3a5132b6ba
commit fbba7dd293
194 changed files with 2365 additions and 7692 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

963
Medium/css/base.scss Normal file
View File

@@ -0,0 +1,963 @@
/**
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-2019, b3log.org & hacpai.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/*
* skin style
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @version 2.0.0.0, Feb 21, 2019
*/
@import "../../../scss/reset-content";
@import "../../../scss/reset";
@import "../../../scss/nprogress";
.fn-flex {
display: flex
}
.fn-flex-1 {
flex: 1;
min-width: 1px
}
.fn-clear:before, .fn-clear:after {
display: table;
content: ""
}
.fn-clear:after {
clear: both
}
.fn-left {
float: left
}
.fn-right {
float: right
}
.ft-12 {
font-size: 12px;
font-weight: normal;
}
.ft-gray {
color: rgba(0, 0, 0, 0.54);
}
.ft-fade {
color: rgba(0, 0, 0, 0.38);
}
.ft-green {
color: #03a87c !important;
transition: all 0.1s
}
.ft-green:hover {
color: #018f69 !important
}
.pipe-tooltipped {
position: relative;
cursor: pointer
}
.pipe-tooltipped::after {
position: absolute;
z-index: 1000;
display: none;
padding: 5px 8px;
font-size: 11px;
font-weight: normal;
color: #fff;
text-align: center;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-wrap: break-word;
white-space: pre;
pointer-events: none;
content: attr(aria-label);
background: rgba(0, 0, 0, 0.8);
border-radius: 3px;
line-height: 16px;
opacity: 0
}
.pipe-tooltipped::before {
position: absolute;
z-index: 1000001;
display: none;
width: 0;
height: 0;
color: rgba(0, 0, 0, 0.8);
pointer-events: none;
content: "";
border: 5px solid transparent;
opacity: 0
}
@keyframes tooltip-appear {
from {
opacity: 0
}
to {
opacity: 1
}
}
.pipe-tooltipped:hover::before, .pipe-tooltipped:hover::after, .pipe-tooltipped:active::before, .pipe-tooltipped:active::after, .pipe-tooltipped:focus::before, .pipe-tooltipped:focus::after {
display: inline-block;
text-decoration: none;
animation-name: tooltip-appear;
animation-duration: 0.1s;
animation-fill-mode: forwards;
animation-timing-function: ease-in;
animation-delay: 0.4s
}
.pipe-tooltipped--s::after, .pipe-tooltipped--se::after, .pipe-tooltipped--sw::after {
top: 100%;
right: 50%;
margin-top: 5px
}
.pipe-tooltipped--s::before, .pipe-tooltipped--se::before, .pipe-tooltipped--sw::before {
top: auto;
right: 50%;
bottom: -5px;
margin-right: -5px;
border-bottom-color: rgba(0, 0, 0, 0.8)
}
.pipe-tooltipped--se::after {
right: auto;
left: 50%;
margin-left: -15px
}
.pipe-tooltipped--sw::after {
margin-right: -15px
}
.pipe-tooltipped--n::after, .pipe-tooltipped--ne::after, .pipe-tooltipped--nw::after {
right: 50%;
bottom: 100%;
margin-bottom: 5px
}
.pipe-tooltipped--n::before, .pipe-tooltipped--ne::before, .pipe-tooltipped--nw::before {
top: -5px;
right: 50%;
bottom: auto;
margin-right: -5px;
border-top-color: rgba(0, 0, 0, 0.8)
}
.pipe-tooltipped--ne::after {
right: auto;
left: 50%;
margin-left: -15px
}
.pipe-tooltipped--nw::after {
margin-right: -15px
}
.pipe-tooltipped--s::after, .pipe-tooltipped--n::after {
transform: translateX(50%)
}
.pipe-tooltipped--w::after {
right: 100%;
bottom: 50%;
margin-right: 5px;
transform: translateY(50%)
}
.pipe-tooltipped--w::before {
top: 50%;
bottom: 50%;
left: -5px;
margin-top: -5px;
border-left-color: rgba(0, 0, 0, 0.8)
}
.pipe-tooltipped--e::after {
bottom: 50%;
left: 100%;
margin-left: 5px;
transform: translateY(50%)
}
.pipe-tooltipped--e::before {
top: 50%;
right: -5px;
bottom: 50%;
margin-top: -5px;
border-right-color: rgba(0, 0, 0, 0.8)
}
.tag {
background-color: rgba(0, 0, 0, 0.05);
color: rgba(0, 0, 0, 0.68);
padding: 5px 10px;
line-height: 22px;
font-weight: 400;
border-radius: 3px;
white-space: nowrap;
display: inline-block;
transition: all 0.1s;
margin: 0 8px 8px 0;
font-size: 15px
}
.tag:hover {
text-decoration: none;
background: rgba(0, 0, 0, 0.1);
color: rgba(0, 0, 0, 0.68)
}
.tag__level0 {
line-height: inherit;
font-size: 12px;
color: rgba(0, 0, 0, 0.38)
}
.tag__level1 {
line-height: inherit;
font-size: 16px;
color: rgba(0, 0, 0, 0.54)
}
.tag__level2 {
line-height: inherit;
font-size: 21px;
color: #6f6f6f
}
.tag__level3 {
line-height: inherit;
font-size: 24px;
color: #3b3e43
}
.tag__level4 {
line-height: inherit;
font-size: 30px;
color: #000
}
.module__title {
border-bottom: 1px solid rgba(0, 0, 0, 0.15);
margin-bottom: 25px;
line-height: 26px;
font-size: 22px;
position: relative;
height: 46px
}
.module__title > span {
border-bottom: 1px solid rgba(0, 0, 0, 0.54);
position: absolute;
padding-bottom: 20px;
height: 26px
}
/* star framework */
.wrapper {
max-width: 1000px;
margin: 0 auto;
box-sizing: border-box
}
.header {
padding: 0 20px;
box-sizing: border-box;
height: 64px;
text-align: center;
transition: all 0.1s;
z-index: 11;
}
.header h1 {
display: inline-block;
line-height: 61px;
width: 50%;
overflow: auto;
white-space: nowrap;
}
.header h1::-webkit-scrollbar {
display: none;
}
.header--fixed {
position: fixed;
width: 100%;
top: -64px;
background-color: #fff;
box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.15)
}
.header__logo {
float: left;
height: 32px;
width: 32px;
margin: 16px 0;
background-size: cover;
background-repeat: no-repeat;
background-position: center center
}
.header__title {
overflow: hidden;
font-size: 26px;
color: rgba(0, 0, 0, 0.84)
}
.header__title:hover {
text-decoration: none
}
.header__icon {
transition: all 0.1s;
color: rgba(0, 0, 0, 0.54);
text-decoration: none;
width: 25px;
margin-left: 10px;
float: left;
margin-top: 25px
}
.header__icon:hover {
text-decoration: none;
color: rgba(0, 0, 0, 0.68)
}
.header__icon svg {
height: 16px;
width: 16px
}
.header__icon.avatar {
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
display: inline-block;
height: 32px;
width: 32px;
border-radius: 16px;
margin-top: 16px;
margin-left: 14px
}
.header__a {
color: #03a87c;
font-size: 16px;
float: left;
margin: 16px 0 0 16px;
transition: all 0.1s;
line-height: 32px;
}
.header__a:hover {
text-decoration: none;
color: #018f69;
border-color: #018f69
}
.header__nav {
height: 50px;
padding: 0 20px;
box-sizing: border-box
}
.header__nav .wrapper {
overflow: auto;
word-wrap: normal;
white-space: nowrap
}
.header__nav .wrapper::-webkit-scrollbar {
display: none
}
.header__nav a {
color: rgba(0, 0, 0, 0.76);
font-size: 15px;
padding: 0 10px;
line-height: 50px;
text-decoration: none
}
.header__nav a img {
height: 16px;
width: 16px;
vertical-align: text-top
}
.header__nav a:first-child {
padding-left: 0
}
.header__nav--fixed {
z-index: 11;
position: fixed;
width: 100%;
top: 0;
background-color: #fff;
box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.15)
}
.footer {
margin-top: 50px;
padding: 10px 20px 25px;
font-size: 14px;
border-top: 1px solid rgba(0, 0, 0, 0.05);
color: rgba(0, 0, 0, 0.38)
}
.footer a {
color: rgba(0, 0, 0, 0.54)
}
.footer__tag {
margin-top: 50px;
}
.footer__tag > div {
margin-right: 20px
}
.footer__tag > div:last-child {
margin-right: 0
}
.footer__tag li {
list-style: none;
}
.footer__tag li a {
color: rgba(0, 0, 0, 0.54);
display: block;
line-height: 30px;
word-break: keep-all;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding: 0 25px;
}
.footer__tag li a:hover {
color: rgba(0, 0, 0, 0.68);
}
.main {
margin: 50px 20px 0
}
.main .content {
margin-top: 50px
}
.board {
padding: 12px 0;
text-align: center
}
/* star article */
.article__wrap {
margin-right: -20px
}
.article__item {
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 2px;
margin-bottom: 20px;
float: left
}
.article__item--big {
width: 318px;
margin-right: 20px
}
.article__item--big .article__main {
height: 275px;
overflow: hidden;
margin-bottom: 10px
}
.article__item--small {
width: 318px;
margin-right: 20px
}
.article__item--small .article__main {
height: 94px;
overflow: hidden;
margin-bottom: 10px
}
.article__item--mid {
width: 488px;
margin-right: 20px
}
.article__item--mid .article__main {
height: 195px;
overflow: hidden;
margin-bottom: 10px
}
.article__panel {
padding: 16px
}
.article__title {
overflow: hidden;
line-height: 24px;
font-size: 21px;
font-weight: 600;
word-break: break-all
}
.article__title a {
color: rgba(0, 0, 0, 0.84)
}
.article__title a:hover {
text-decoration: none
}
.article__title sup {
top: -6px;
font-size: 12px;
color: #03a87c;
}
.article__content {
margin-top: 4px;
font-size: 16px;
color: rgba(0, 0, 0, 0.54);
overflow: hidden;
line-height: 23px;
word-break: break-all;
}
.article__meta {
font-size: 15px;
line-height: 23px;
}
/* end article list */
/* start article */
.b3-solo-list {
display: none;
}
.post {
max-width: 740px;
margin: 50px auto 20px;
position: relative
}
.post__main {
margin: 20px 0 0 0
}
.post__title {
font-weight: 700;
font-size: 42px;
margin: 0 -20px 10px;
word-break: break-all
}
.post__title sup {
font-size: 16px;
top: -20px;
color: #03a87c;
}
.post__tags {
padding: 4px 0 22px;
border-bottom: 1px solid rgba(0, 0, 0, 0.05)
}
.post__share {
padding: 20px 0;
margin-bottom: 20px;
font-size: 16px;
}
.post__share svg {
height: 20px;
width: 20px;
vertical-align: bottom
}
.post__share #articleShare {
position: relative
}
.post__share #articleShare .article__code {
position: absolute;
height: 130px;
width: 130px;
left: -2px;
top: 22px
}
.post__share-icon {
color: rgba(0, 0, 0, 0.54);
cursor: pointer;
}
.post__share-icon:hover {
color: rgba(0, 0, 0, 0.68);
}
.post__view {
color: #03a87c;
transition: all 0.1s
}
.post__view:hover {
color: #018f69;
text-decoration: none
}
.post__side {
position: fixed;
top: 50%;
left: 10%;
width: 55px;
text-align: center;
font-size: 16px;
margin-top: -125px;
transition: opacity .1s;
opacity: 0
}
.post__side svg {
height: 25px;
width: 25px
}
.post__side .ft-green svg {
height: 55px;
width: 55px;
vertical-align: bottom;
margin-bottom: 10px
}
.post__side .article__code {
position: absolute;
height: 130px;
width: 130px;
left: 45px;
top: 90px
}
#articleSideShare {
width: 26px;
margin: 0 auto;
}
.article__bottom {
background-color: #fafafa;
padding: 40px 20px
}
.article__bottom .footer__tag {
margin-bottom: 50px;
}
.article__comment {
width: 640px;
margin: 45px auto 0;
position: relative;
}
.article__comment .comment__title {
font-size: 16px;
margin-bottom: 15px;
color: rgba(0, 0, 0, 0.68)
}
.article__comment .comment__item {
background-color: rgb(255, 255, 255);
box-shadow: rgba(0, 0, 0, 0.04) 0px 1px 4px;
border: 1px solid rgba(0, 0, 0, 0.09);
border-radius: 3px;
padding: 10px 20px 10px 77px;
margin: 0 0 20px;
}
.article__comment .comment__avatar {
position: absolute;
left: 10px;
height: 57px;
width: 57px;
display: inline-block;
z-index: 10;
border: 2px solid rgb(255, 255, 255);
border-radius: 50%;
}
.article__comment .comment__body svg.ft-gray {
height: 12px;
width: 12px;
vertical-align: text-top;
margin-left: 5px;
}
.article__comment .comment__body .content-reset {
min-height: 40px;
}
.article__comment .comment__user,
.article__comment .comment__user a {
color: rgb(3, 168, 124);
}
.article__comment .comment__user a:hover {
color: rgb(1, 143, 105);
text-decoration: none;
}
.comment-body-ref {
position: absolute;
width: 559px;
box-sizing: border-box;
left: 101px;
}
.comment-body-ref .ft-green {
display: none;
}
.comment__textarea {
background-color: rgb(255, 255, 255);
box-shadow: rgba(0, 0, 0, 0.04) 0px 1px 4px;
border: 1px solid rgba(0, 0, 0, 0.09);
border-radius: 3px;
padding: 10px;
margin: 0 0 5px;
width: 100%;
box-sizing: border-box;
cursor: pointer;
resize: none;
}
.article__toolbar {
box-shadow: 0 0 1px rgba(0, 0, 0, 0.54);
position: fixed;
bottom: -44px;
width: 100%;
background-color: #fff;
height: 44px;
font-size: 16px;
line-height: 44px;
transition: all 0.1s;
opacity: 0
}
.article__toolbar .wrapper {
max-width: 740px
}
.article__toolbar svg {
height: 20px;
width: 20px;
vertical-align: middle
}
.article__toolbar .fn-right {
position: absolute;
top: 0;
right: 20px
}
.article__toolbar .article__code {
position: absolute;
height: 130px;
width: 130px;
left: 50px;
bottom: 30px
}
.article__next {
border-left: 1px solid rgba(0, 0, 0, 0.38);
line-height: 14px;
margin-top: 7px;
color: rgba(0, 0, 0, 0.84);
font-size: 18px;
display: inline-block;
padding-left: 20px;
margin-left: 20px;
transition: all .2s;
float: right;
}
.article__next:hover {
text-decoration: none;
color: rgba(0, 0, 0, 0.54);
}
.pagination {
margin-top: 30px;
font-size: 16px;
border-top: 1px solid rgba(0, 0, 0, 0.15)
}
.pagination__item {
text-align: center;
border-top: 1px solid transparent;
transition: all 0.1s;
display: inline-block;
position: relative;
top: -1px;
margin: 0 10px;
padding: 0 10px;
line-height: 30px;
color: rgba(0, 0, 0, 0.54)
}
.pagination__item:hover {
border-top-color: rgba(0, 0, 0, 0.54);
color: rgba(0, 0, 0, 0.84);
text-decoration: none
}
.pagination__item--active {
background: rgba(0, 0, 0, 0.05);
border-top-color: rgba(0, 0, 0, 0.54)
}
.pagination__item--active:hover {
color: rgba(0, 0, 0, 0.54);
border-top-color: rgba(0, 0, 0, 0.54)
}
.pagination__item:first-child {
margin-left: 0
}
.pagination__item:last-child {
margin-right: 0
}
.pagination__omit {
top: -5px;
margin: 0;
border: 0;
padding: 0;
color: #ccc
}
.page__item {
display: block;
border-bottom: 1px solid rgba(0,0,0,0.05);
padding: 40px 0 35px
}
@media (max-width: 768px) {
.header {
text-align:left
}
.header__logo,
.post__side,.article__next,#articleBottomShare,#articleShare,
.article__comment .comment__avatar {
display: none
}
.post {
margin: 50px 20px 20px
}
.article__toolbar {
padding-left: 20px;
box-sizing: border-box
}
.article__item {
width: 100%;
margin-bottom: 20px
}
.article__wrap {
margin: 0
}
.article__comment {
width: 100%
}
.article__main {
height: auto !important
}
.footer .fn-right {
float: none
}
.footer__tag {
display: block
}
.footer__tag>div {
margin: 0 0 50px
}
.footer__tag>div:last-child {
margin: 0
}
.pagination__item {
margin: 0
}
.article__comment .comment__item {
padding-left: 10px;
}
}
/* Make clicks pass-through */
#nprogress .bar {
background: #d23f31;
}
/* Fancy blur effect */
#nprogress .peg {
box-shadow: 0 0 10px #d23f31, 0 0 5px #d23f31;
}
#nprogress .spinner-icon {
border-top-color: #d23f31;
border-left-color: #d23f31;
}