nocobase/.dumi/theme/style/layout.less

326 lines
6.0 KiB
Plaintext
Raw Normal View History

@import './markdown.less';
@import './variables.less';
@s-toc-width: 350px;
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji,
Segoe UI Symbol;
font-variant: tabular-nums;
font-feature-settings: 'tnum';
-webkit-font-smoothing: antialiased;
}
.@{prefix}-layout {
box-sizing: border-box;
min-height: 100vh;
padding: 16px (@s-content-margin + @s-toc-width) 50px @s-menu-width + @s-content-margin;
@media @mobile {
padding-top: 66px !important;
padding-left: 16px !important;
padding-right: 16px !important;
}
&[data-gapless='true'] {
padding-top: @s-nav-height !important;
padding-right: 0 !important;
padding-left: 0 !important;
padding-bottom: 0;
@media @mobile {
padding-top: @s-mobile-nav-height !important;
}
}
&[data-show-sidemenu='false'] {
padding-left: @s-content-margin;
}
&[data-show-slugs='false'] {
padding-right: @s-content-margin;
}
&[data-site-mode='true'] {
padding-top: @s-nav-height + 50px;
&[data-show-sidemenu='true'] {
padding-left: @s-site-menu-width + 50px;
}
&[data-show-slugs='true'] {
padding-right: @s-content-margin + @s-toc-width + 14;
}
.@{prefix}-layout-content > .markdown:first-child > *:first-child {
margin-top: 0;
}
.@{prefix}-layout-toc {
top: 114px;
max-height: calc(100vh - 154px);
}
}
&-hero {
margin: -50px -58px 0;
padding: 100px 0;
text-align: center;
background-color: #f5f6f8;
@media @mobile {
margin: -16px -16px 0;
padding: 48px 0;
}
img {
max-width: 100%;
max-height: 200px;
margin-bottom: 1rem;
}
h1 {
margin: 0 0 16px;
font-size: 48px;
font-weight: 600;
line-height: 56px;
color: #080e29;
+ div {
margin: 16px 0 32px;
opacity: 0.78;
.markdown {
font-size: 16px;
}
}
}
button {
margin-right: 16px;
padding: 0 32px;
height: 44px;
color: @c-primary;
font-size: 16px;
background: transparent;
border: 1px solid @c-primary;
border-radius: 22px;
box-sizing: border-box;
cursor: pointer;
outline: none;
transition: all 0.3s;
&:hover {
opacity: 0.8;
}
&:active {
opacity: 0.9;
}
}
a:last-child button {
margin-right: 0;
color: #fff;
background: @c-primary;
}
}
&-features {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-column-gap: 96px;
grid-row-gap: 56px;
padding: 72px 0;
> dl {
flex: 1;
margin: 0;
text-align: center;
background: no-repeat center top / auto 48px;
&[style*='background-image'] {
padding-top: 64px;
}
dt {
margin-bottom: 12px;
font-size: 20px;
line-height: 1;
color: @c-heading;
}
a {
transition-duration: none;
}
a dt {
color: @c-link;
transition: opacity 0.2s;
&:hover {
opacity: 0.7;
text-decoration: underline;
}
&:active {
opacity: 0.9;
}
}
dd {
margin: 0;
.markdown {
color: @c-secondary;
font-size: 14px;
line-height: 22px;
> p:first-child {
margin-top: 0;
}
> p:last-child {
margin-bottom: 0;
}
}
}
}
@media @mobile {
display: block;
padding: 40px 0;
> dl {
text-align: left;
background-position: left top;
&[style*='background-image'] {
padding: 0 0 0 60px;
}
+ dl {
margin-top: 32px;
}
}
}
}
&-features,
&-features + &-content,
&-hero + &-content {
margin-left: auto;
margin-right: auto;
max-width: 960px;
}
&-hero + &-content {
margin-top: 60px;
}
&-toc {
list-style: none;
position: fixed;
z-index: 10;
top: 50px;
right: 0;
width: @s-toc-width;
max-height: calc(90vh - 80px);
margin: 0;
padding: 0 24px 0 0;
background-color: #fff;
box-shadow: 0 0 16px 16px #fff;
box-sizing: content-box;
overflow: auto;
@media @mobile {
display: none;
}
li {
position: relative;
margin: 0;
padding: 4px 0 4px 6px;
text-indent: 24px;
font-size: 13px;
// line-height: 1.40625;
line-height: 1.60625;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
a {
color: @c-text;
text-decoration: none;
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
bottom: 0;
display: inline-block;
width: 2px;
background: @c-border;
}
&:hover {
color: lighten(@c-primary, 5%);
}
&:active {
color: lighten(@c-primary, 3%);
}
&.active {
color: @c-primary;
&::before {
background: @c-primary;
}
}
}
}
}
&-footer-meta {
margin-top: 40px;
padding-top: 24px;
display: flex;
color: @c-secondary;
font-size: 14px;
justify-content: space-between;
border-top: 1px solid @c-border;
@media only screen and (max-width: 960px) {
display: block;
}
> a {
margin-bottom: 4px;
display: block;
color: @c-primary;
text-decoration: none;
}
> span:last-child {
&::before {
content: attr(data-updated-text);
color: @c-primary;
}
}
}
}
.__dumi-default-layout-footer {
margin: 72px 0 -32px;
padding-top: 24px;
border-top: 1px solid @c-border;
text-align: center;
.markdown {
color: #b0b1ba;
}
}