Files
wordpress-theme-aksrt/assets/css/build/homepage.css
T

895 lines
18 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* source: assets/css/frontend/post-card.css */
/**
* legacy 9.0 article list/card contract.
* Source baseline: css/main.css (SHA-256 recorded in tests/visual).
*/
.posts-row {
margin-right: -8px;
margin-bottom: 15px;
margin-left: -8px;
}
.posts-row > *:not(.post_ajax_loader) {
margin-right: 8px !important;
margin-left: 8px !important;
}
/* 骨架与真实卡片同宽:.posts-row 以 -8px 抵消卡片边距,loader 被上面的
:not() 排除在补偿外,会宽出 16px;这里补上等同的水平边距。
补偿落在骨架内层的 .posts-item 上(与真实卡片同一元素),不落外层
.post_ajax_loader —— 否则内层 .posts-item.card 的 margin:8px 会与外层
补偿叠成 16px,小工具 card 骨架因此窄出 8px。 */
.posts-row > .post_ajax_loader .posts-item,
.posts-row > .post_ajax_loader .posts-mini {
margin-right: 8px;
margin-left: 8px;
}
.posts-item {
margin: 15px 0;
padding: 20px;
overflow: hidden;
background: var(--main-bg-color, #fff);
border-radius: var(--main-radius, 8px);
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
transition: 0.2s;
}
.posts-item.flex,
.posts-item .flex,
.posts-mini .flex {
display: flex;
}
.posts-item .flex.xx,
.posts-mini .flex.xx {
flex-direction: column;
}
.posts-item .flex.ac,
.posts-mini .flex.ac {
align-items: center;
}
.posts-item .flex.jsb,
.posts-mini .flex.jsb {
justify-content: space-between;
}
.posts-item .flex1,
.posts-mini .flex1 {
flex: 1;
overflow: hidden;
}
.posts-item .post-graphic:not(.order1) {
margin-right: 20px;
}
.posts-item .order1.post-graphic {
margin-right: 0;
margin-left: 20px;
}
.posts-item .item-thumbnail {
position: relative;
display: block;
width: 190px;
height: 0;
padding-bottom: var(--posts-list-scale, 70%);
overflow: hidden;
border-radius: var(--main-radius, 8px);
}
.item-thumbnail.contain img {
object-fit: contain;
}
.swiper-slide.gradient-bg .dplayer-poster img,
.swiper-slide.gradient-bg > * > img {
object-fit: contain !important;
border-radius: 0 !important;
}
.item-thumbnail .swiper-wrapper {
height: 100% !important;
}
.list .item-thumbnail .aksrt-slider,
.list .item-thumbnail.new-swiper {
position: absolute;
width: 100%;
height: 100%;
margin: 0 !important;
}
.item-thumbnail .dplayer.dplayer-thumb {
position: absolute;
inset: 0;
z-index: 1;
padding-bottom: var(--posts-list-scale, 70%);
background: #000;
opacity: 0;
transition: opacity 0.3s;
}
.card .item-thumbnail .dplayer.dplayer-thumb {
padding-bottom: var(--posts-card-scale, 70%);
}
.item-thumbnail .dplayer-thumb video,
.item-thumbnail .swiper-wrapper,
.item-thumbnail img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.item-thumbnail .swiper-pagination {
right: 0 !important;
bottom: 0 !important;
left: 0 !important;
padding: 0 2px !important;
text-align: center !important;
}
.posts-item.thumb-dplayer-playing .dplayer-thumb {
opacity: 1;
}
.posts-item.thumb-dplayer-playing .abs-center {
opacity: 0;
}
.posts-item .item-heading {
display: -webkit-box;
max-height: 2.8em;
margin-top: 0;
margin-bottom: 5px;
overflow: hidden;
font-size: 18px;
line-height: 1.4em;
white-space: normal;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.font-bold {
font-weight: 700;
}
.list.style2 .item-thumbnail {
width: 130px;
}
.list.style2 .item-heading {
display: unset;
max-height: 1.4em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.posts-item .item-heading > a {
color: var(--key-color, #333);
}
.posts-item .item-heading > a:hover {
color: var(--focus-color, #f04494);
}
.posts-item .item-excerpt {
margin: 0 0 6px;
overflow: hidden;
color: var(--muted-color, #777);
text-overflow: ellipsis;
white-space: nowrap;
}
.posts-item .item-meta item {
margin-right: 8px;
font-size: 13px;
}
.posts-item .item-meta svg.icon,
.posts-mini .item-meta svg.icon {
display: inline-block;
width: 1em;
height: 1em;
margin-right: 2px;
fill: currentColor;
overflow: hidden;
vertical-align: -0.15em;
}
.posts-item .meta-right item:last-child {
margin-right: 0;
}
.item-meta .avatar-mini {
width: 20px;
height: 20px;
border-radius: 50%;
transform: translateY(-1px);
}
.item-meta .meta-pay {
padding: 0 4px;
}
.posts-item .item-meta a,
.posts-mini .item-meta a {
color: inherit;
}
.posts-item .item-tags a {
margin-right: 5px;
padding: 2px 5px;
font-size: 11px;
}
.posts-item .item-tags a .fa {
font-size: 1em;
}
.posts-item.card {
display: inline-block;
width: calc(33.333% - 16px);
margin: 8px;
padding: 10px;
vertical-align: top;
transition: 0.3s;
}
.posts-item.card:last-child {
margin-bottom: 20px;
}
.posts-item.card .item-body {
width: 100%;
margin: 10px 0 0;
padding: 0;
}
.posts-item.card .item-meta item {
font-size: 12px;
}
.posts-mini-con .item-heading,
.posts-item.card .item-heading {
font-size: 14px;
}
.posts-item.card .item-heading {
min-height: 2.8em;
}
.posts-item.card .item-tags {
min-height: 23px;
}
.posts-item.card .item-thumbnail {
width: 100%;
padding-bottom: var(--posts-card-scale, 70%);
}
.posts-item.card.style2 {
background: transparent;
box-shadow: none;
}
.posts-item.card.style2:hover {
background: var(--main-bg-color, #fff);
box-shadow: 0 0 10px var(--main-shadow, rgba(116, 116, 116, 0.08));
}
.posts-item.card.style3 {
padding: 0;
}
.posts-item.card.style3 .item-thumbnail,
.posts-item.card.style3 .item-thumbnail img {
border-radius: var(--main-radius, 8px) var(--main-radius, 8px) 0 0;
}
.posts-item.card.style3 .item-body {
margin: 0;
padding: 10px;
}
.posts-item.mult-thumb .thumb-items {
margin: 0 -3px 6px;
}
.posts-item.mult-thumb .thumb-items > span {
position: relative;
display: inline-block;
width: calc(25% - 6px);
height: 0;
margin: 0 3px;
padding-bottom: calc(var(--posts-list-scale, 70%) / 4);
}
.posts-item.mult-thumb .thumb-items > span > img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.posts-item.mult-thumb .thumb-items.contain > span {
overflow: hidden;
background: var(--main-border-color, rgba(50, 50, 50, 0.06));
border-radius: var(--main-radius, 8px);
}
.posts-item.mult-thumb .thumb-items.contain > span > img {
object-fit: contain;
border-radius: 0;
}
.posts-item.no_margin {
margin: 0;
border-radius: 0;
box-shadow: none;
}
.posts-item.no-thumb .item-excerpt {
height: auto;
}
.posts-item.no-thumb .item-body {
width: 100%;
}
.posts-item + .pagenav {
margin-top: -15px;
}
.posts-item.card + .pagenav {
margin-top: -10px;
}
.no_margin:first-of-type {
margin-top: 10px;
border-radius: var(--main-radius, 8px) var(--main-radius, 8px) 0 0;
}
.no_margin:last-of-type {
margin-bottom: 15px;
border-radius: 0 0 var(--main-radius, 8px) var(--main-radius, 8px);
}
.posts-mini {
padding: 10px;
display: inline-flex;
width: 50%;
vertical-align: top;
}
.posts-mini-con {
flex: auto;
overflow: hidden;
}
.posts-mini .item-thumbnail {
width: 96px;
height: 0;
padding-bottom: var(--posts-list-scale, 70%);
position: relative;
overflow: hidden;
border-radius: var(--main-radius, 8px);
}
.posts-mini .item-thumbnail img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.posts-mini .item-heading {
margin: 0;
}
.posts-mini .item-heading.icon-circle {
margin-left: -5px;
}
.posts-mini .item-meta {
font-size: 12px;
}
.posts-mini-con .badg {
min-width: 18px;
}
.sidebar .posts-mini,
.mobile-nav-widget .posts-mini {
width: 100% !important;
}
.mobile-nav-widget .posts-mini {
padding-right: 0;
padding-left: 0;
}
.posts-mini:last-of-type {
margin-bottom: 0;
}
.posts-mini-lists {
padding: 5px;
}
.posts-mini-lists .tab-nav-theme {
padding: 0 5px 2px;
}
.mobile-nav-widget .posts-mini-lists .tab-nav-theme {
margin: 0 -5px;
padding: 0;
}
.widget-main-post.style-list .widget-ajaxpager,
.widget-main-post.style-card .widget-ajaxpager,
.widget-tab-post.index-tab .tab-content > .tab-pane {
margin: -8px -8px 15px;
}
.widget-tab-post.style-list .tab-content > .tab-pane {
margin-bottom: 25px;
}
.widget-main-post.style-list .posts-item,
.widget-tab-post.style-list .posts-item {
margin-right: 8px;
margin-left: 8px;
}
/* 骨架与卡片同宽同轴:.widget-ajaxpager / .tab-pane 用负边距抵消卡片的水平
边距。补偿同样落在骨架内层的 .posts-item 上(与真实卡片同一元素),
不落外层 .post_ajax_loader —— 否则内层 .posts-item.card 自带的 margin:8px
会与外层补偿叠成 16px,card 骨架因此窄出 8px。 */
.widget-main-post.style-list .widget-ajaxpager > .post_ajax_loader .posts-item,
.widget-main-post.style-card .widget-ajaxpager > .post_ajax_loader .posts-item,
.widget-tab-post .tab-content > .tab-pane > .widget-ajaxpager > .post_ajax_loader .posts-item {
margin-right: 8px;
margin-left: 8px;
}
.posts-mini:hover img,
.posts-item:hover .item-thumbnail img,
.posts-item.mult-thumb .thumb-items > span > img:hover {
transform: scale(1.02);
}
.swiper-scroll .posts-item {
flex-shrink: 0;
margin: 0 16px 0 0 !important;
}
.swiper-scroll .posts-item.list {
width: calc(50% - 8px) !important;
min-width: 520px !important;
}
.swiper-scroll .posts-item.posts-mini {
width: 360px !important;
}
.swiper-scroll .posts-item.card {
width: calc(33.333% - 11px) !important;
}
/* img-badge 定位由 main.css 的参考主题规则拥有(.img-badge top:.6em /
* .img-badge.left left:0 / .hot-posts .img-badge left:-15px)。
* 此前这里存在 top:8px/left:8px 的全局覆盖,导致热榜 TOP 徽章与参考主题错位。 */
@media (min-width: 992px) {
.fluid-widget-wrap .posts-item.card,
.site-layout-1 .posts-item.card {
width: calc(25% - 16px);
}
.fluid-widget-wrap .posts-item:not(.card),
.site-layout-1 .posts-item:not(.card) {
display: inline-flex;
width: calc(50% - 16px);
margin: 8px;
}
.fluid-widget-wrap .posts-item.no_margin,
.site-layout-1 .posts-item.no_margin {
border-radius: var(--main-radius, 8px);
}
.fluid-widget-wrap .posts-mini,
.site-layout-1 .posts-mini {
width: 33.333%;
}
.sidebar .posts-item.card,
.sidebar .posts-item.list {
width: 100% !important;
min-width: 0 !important;
margin: 0;
}
}
@media (max-width: 767px) {
.posts-row {
margin-right: -5px;
margin-left: -5px;
}
.posts-row > *:not(.post_ajax_loader) {
margin-right: 5px !important;
margin-left: 5px !important;
}
.posts-row > .post_ajax_loader .posts-item,
.posts-row > .post_ajax_loader .posts-mini {
margin-right: 5px;
margin-left: 5px;
}
.posts-item .item-thumbnail {
width: 138px;
}
.posts-mini .item-thumbnail,
.list.style2 .item-thumbnail {
width: 90px;
}
.posts-item .post-graphic:not(.order1) {
margin-right: 15px;
}
.posts-item .order1.post-graphic {
margin-left: 15px;
}
.posts-item .item-heading {
font-size: 15px;
}
.posts-item:not(.no-thumb) .item-excerpt {
display: none;
}
.posts-item.card {
width: calc(50% - 10px);
margin: 5px;
}
.widget-main-post.style-list .widget-ajaxpager,
.widget-main-post.style-card .widget-ajaxpager,
.widget-tab-post.index-tab .tab-content > .tab-pane {
margin: -5px -5px 20px;
}
.widget-tab-post.style-list .tab-content > .tab-pane,
.widget-main-post.style-list .widget-ajaxpager {
margin-top: -15px;
}
.widget-tab-post.style-list .posts-item {
margin-right: 5px;
margin-left: 5px;
}
.widget-main-post.style-list .widget-ajaxpager > .post_ajax_loader .posts-item,
.widget-main-post.style-card .widget-ajaxpager > .post_ajax_loader .posts-item,
.widget-tab-post .tab-content > .tab-pane > .widget-ajaxpager > .post_ajax_loader .posts-item {
margin-right: 5px;
margin-left: 5px;
}
.swiper-scroll .posts-item {
margin-right: 10px !important;
}
.posts-item.card:nth-child(odd) {
margin-right: 5px;
}
.posts-item.card:nth-child(even) {
margin-left: 5px;
}
.posts-item.mult-thumb .thumb-items > span {
width: calc(33.333% - 6px);
padding-bottom: calc(var(--posts-list-scale, 70%) / 3);
}
.posts-item.mult-thumb .thumb-items > span:nth-child(4) {
display: none;
}
.swiper-scroll .posts-item.card {
width: calc(50% - 5px) !important;
}
.swiper-scroll .posts-item.list {
width: 100% !important;
min-width: auto !important;
}
}
@media (max-width: 640px) {
.posts-item:not(.no-thumb) .meta-right item {
display: none;
}
.posts-mini {
width: 100%;
}
.posts-item {
margin: 10px 0;
padding: 10px;
}
.aksrt-panel .posts-item.no_margin {
padding: 10px 0;
}
}
@media (prefers-reduced-motion: reduce) {
.posts-item,
.posts-item img {
transition: none;
}
}
/* source: assets/css/frontend/sidebar.css */
/* ========== 侧边栏 — 对齐 legacy sidebar ========== */
/* Width/float geometry is owned by body.site-layout-* in layout.css.
* Keep only non-layout chrome here. */
.sidebar {
box-sizing: border-box;
}
.sidebar-inner {
position: sticky;
top: calc(var(--nav-height, 60px) + 20px);
}
/* Widget 通用 */
.widget {
background: var(--surface-1, #fff);
border-radius: var(--main-radius, var(--radius, 8px));
box-shadow: var(--shadow-sm);
border: none;
margin-bottom: 20px;
overflow: hidden;
}
.widget-title {
font-size: 16px;
font-weight: 700;
color: var(--color-ink, #333);
padding-bottom: 10px;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 8px;
}
.widget-title i {
color: var(--color-primary, #f04494);
font-size: 14px;
}
/* .widget-content 是无样式结构层(对齐参考主题):小工具卡片自带内边距,
* 在这里加 padding 会让所有小工具与内容列宽产生左右空隙。 */
/* Widget 链接 */
.widget a {
color: var(--color-ink-2, #4e5358);
text-decoration: none;
transition: color 0.2s;
}
.widget a:hover {
color: var(--color-primary, #f04494);
}
/* .widget a 的链接色不得覆盖 .but / .img-badge 自身配色(zibll 的 zib-widget 不设置链接色) */
.widget a.but,
.widget a.img-badge {
color: var(--this-color, #fff);
}
/* Widget 标签云 */
.widget-tag-cloud .tagcloud {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.widget-tag-cloud .tagcloud a {
display: inline-block;
padding: 3px 10px;
font-size: 12px !important;
background: var(--surface-2, #eee);
border-radius: 4px;
color: var(--color-ink-2, #4e5358);
transition: all 0.2s;
}
.widget-tag-cloud .tagcloud a:hover {
background: var(--color-primary-soft, rgba(240, 68, 148, 0.1));
color: var(--color-primary, #f04494);
}
/* Widget 列表 */
.widget ul {
list-style: none;
margin: 0;
padding: 0;
}
.widget ul li {
padding: 8px 0;
font-size: 13px;
line-height: 1.6;
}
.widget ul li:last-child {
border-bottom: none;
}
/* 侧边栏响应式 — width/float 由 layout.css 的 --sidebar-width + site-layout-* 拥有。
* 禁止在这里硬编码 280px(会与 content-layout gutter 失配导致叠层/空隙)。 */
@media (max-width: 991px) {
.sidebar {
display: none;
}
}
/* source: assets/css/frontend/breadcrumb.css */
/* ========== 面包屑导航 — 对齐 legacy .breadcrumb (main.css) ========== */
/* Single source for breadcrumb chrome. Do not re-define in layout.css. */
.breadcrumb,
ul.breadcrumb,
.breadcrumb-nav,
.breadcrumbs-wrap {
background: transparent;
font-size: 13px;
padding: 0 8px;
margin: 0 0 12px;
opacity: 0.6;
line-height: 1.8;
list-style: none;
}
.breadcrumb-nav ol,
.breadcrumb-nav ul,
ul.breadcrumb,
.breadcrumbs.breadcrumb {
list-style: none;
margin: 0;
padding: 0;
display: block;
}
/* legacy uses flat li + li:before separators (not flex-gap nodes) */
.breadcrumb > li,
ul.breadcrumb > li,
.breadcrumb-nav li,
.breadcrumbs.breadcrumb > li {
display: inline;
}
.breadcrumb > li + li:before,
ul.breadcrumb > li + li:before,
.breadcrumb-nav li + li:before {
content: "/";
padding: 0 0 0 6px;
opacity: 0.6;
}
/* Archive/nav variant may still stamp sep nodes — keep neutral */
.breadcrumbs.breadcrumb .breadcrumbs__sep {
padding: 0 6px;
opacity: 0.6;
}
.breadcrumb a,
ul.breadcrumb a,
.breadcrumb-nav a,
.breadcrumbs a {
color: var(--muted-2-color, var(--color-ink-4, #999));
text-decoration: none;
transition: color 0.2s;
}
.breadcrumb a:hover,
ul.breadcrumb a:hover,
.breadcrumb-nav a:hover,
.breadcrumbs a:hover {
color: var(--focus-color, var(--color-primary, #f04494));
}
.breadcrumb > li:last-child,
ul.breadcrumb > li:last-child,
.breadcrumb-nav .current,
.breadcrumbs__item.is-current {
color: var(--main-color, var(--color-ink-2, #4e5358));
}
/* Cover overlay breadcrumb — legacy .single-cover-con:标题叠加封面,
面包屑需要 -6px 左拉与不透明度还原。 */
.single-cover-con .breadcrumb,
.single-cover-con ul.breadcrumb,
.single-cover-con .breadcrumb-nav {
font-size: 13px;
margin: 5px 0 0 -6px;
opacity: unset;
padding: 0;
background: transparent;
}
/* Video footer breadcrumb — legacy .single-video .breadcrumb:标题在下方
footer(flex jsb at 行)不叠加封面,只归零内边距,保留基础弱化样式
(opacity .6 与 12px 下边距),对齐 zibll main.css。 */
.single-video .breadcrumb {
padding: 0;
}
.single-cover-con .breadcrumb,
.single-cover-con ul.breadcrumb,
.single-cover-con .breadcrumb-nav {
color: rgba(255, 255, 255, 0.85);
}
.single-cover-con .breadcrumb a,
.single-cover-con ul.breadcrumb a,
.single-cover-con .breadcrumb-nav a {
color: rgba(255, 255, 255, 0.85);
}
.single-cover-con .breadcrumb a:hover,
.single-cover-con ul.breadcrumb a:hover,
.single-cover-con .breadcrumb-nav a:hover {
color: #fff;
}
.single-cover-con .breadcrumb > li:last-child,
.single-cover-con ul.breadcrumb > li:last-child {
color: #fff;
}
@media (max-width: 767px) {
.breadcrumb,
ul.breadcrumb,
.breadcrumb-nav,
.breadcrumbs-wrap {
font-size: 12px;
}
}
/* source: assets/css/frontend/homepage-fixed/base.css */
/** Homepage inherits the reference navigation, widgets and pagination from main.css. */
.aksrt-homepage {
font-size: 14px;
line-height: 1.42857143;
color: var(--main-color);
}
.aksrt-homepage__content-layout,
.aksrt-homepage__content-zone,
.aksrt-homepage__fluid-zone,
.aksrt-homepage__aside {
display: block;
}