Remove unscoped .img-badge top/left overrides from post-card.css and its build aggregates that hijacked the reference-parity rules in main.css (top:.6em / .hot-posts left:-15px). Also drop dead .widget-hot-posts legacy blocks with no remaining markup references.
1186 lines
24 KiB
CSS
1186 lines
24 KiB
CSS
/* 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-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;
|
||
}
|
||
|
||
.item-meta .meta-pay img {
|
||
width: 1em;
|
||
height: 1em;
|
||
object-fit: contain;
|
||
vertical-align: -0.15em;
|
||
}
|
||
|
||
.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;
|
||
}
|
||
|
||
.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-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;
|
||
}
|
||
|
||
.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 按钮自身配色(zibll 的 zib-widget 不设置链接色) */
|
||
.widget a.but {
|
||
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 Fixed Layout — legacy Visual Parity
|
||
*
|
||
* Implements legacy's homepage visual language:
|
||
* - System font stack with Chinese fallbacks
|
||
* - 1200px container, 311px sidebar
|
||
* - Post cards: list mode (190px thumb) + card mode (3-col grid)
|
||
* - legacy shadow/radius/spacing values
|
||
* - scale(1.02) thumbnail hover
|
||
* - Lazy-load animations (blur/fade/scale)
|
||
* - Full responsive: 1200/991/767/640px breakpoints
|
||
*
|
||
* Tab nav / tab panes / sort menu use the legacy class contract
|
||
* (.index-tab, .ajax-option, .ajaxpager) styled by assets/css/main.css.
|
||
*/
|
||
|
||
/* ================================================================
|
||
1. HOMEPAGE CONTAINER & TYPOGRAPHY
|
||
================================================================ */
|
||
|
||
.aksrt-homepage {
|
||
font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
|
||
font-size: 16px;
|
||
line-height: 1.42857143;
|
||
color: var(--main-color, #4e5358);
|
||
background: transparent;
|
||
-webkit-font-smoothing: antialiased;
|
||
-moz-osx-font-smoothing: grayscale;
|
||
/* Slightly looser than stock legacy short pages: air between stream and footer */
|
||
padding-bottom: 28px;
|
||
}
|
||
|
||
.aksrt-homepage a[href] {
|
||
transition: color 0.2s, background 0.3s, opacity 0.3s, box-shadow 0.3s, transform 0.3s;
|
||
}
|
||
|
||
/* ================================================================
|
||
2. LAYOUT SHELL
|
||
================================================================ */
|
||
|
||
.aksrt-homepage__fluid-zone.content-shell,
|
||
.aksrt-homepage__shell.content-shell {
|
||
max-width: min(100%, var(--container, 1200px));
|
||
}
|
||
|
||
.aksrt-homepage__fluid-zone.content-shell {
|
||
padding-top: 18px;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.aksrt-homepage__shell.content-shell {
|
||
padding-top: 0;
|
||
/* 36px + a bit more breathing room before footer */
|
||
padding-bottom: 56px;
|
||
}
|
||
|
||
/* Bottom fluid zone (if any) keeps a little gap above footer */
|
||
.aksrt-homepage__fluid-zone--bottom {
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
@media (max-width: 767px) {
|
||
.aksrt-homepage {
|
||
padding-bottom: 20px;
|
||
}
|
||
|
||
.aksrt-homepage__shell.content-shell {
|
||
padding-bottom: 40px;
|
||
}
|
||
}
|
||
|
||
/* Dual-column geometry is owned by body.site-layout-* float rules in layout.css. */
|
||
.aksrt-homepage__content-layout {
|
||
display: block;
|
||
gap: 0;
|
||
}
|
||
|
||
@media (max-width: 1200px) {
|
||
.aksrt-homepage__fluid-zone.content-shell,
|
||
.aksrt-homepage__shell.content-shell {
|
||
max-width: 95%;
|
||
}
|
||
}
|
||
|
||
.aksrt-homepage__content-zone,
|
||
.aksrt-homepage__fluid-zone,
|
||
.aksrt-homepage__aside {
|
||
display: block;
|
||
}
|
||
|
||
.aksrt-homepage__content-zone .widget-card:last-child,
|
||
.aksrt-homepage__aside .widget:last-child,
|
||
.aksrt-homepage__fluid-zone .widget-fluid:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
/* ================================================================
|
||
3. FLUID WIDGETS
|
||
================================================================ */
|
||
|
||
.aksrt-homepage__fluid-zone .widget-fluid {
|
||
margin-bottom: 20px;
|
||
background: transparent;
|
||
padding: 0;
|
||
border: 0;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.aksrt-homepage .widget-fluid.widget_aksrt_tab_posts,
|
||
.aksrt-homepage .widget-fluid.widget_aksrt_category_block,
|
||
.aksrt-homepage .widget-fluid.widget_aksrt_category_tabs,
|
||
.aksrt-homepage .widget-fluid.widget_aksrt_category_recommend {
|
||
padding: 15px;
|
||
background: var(--surface-1, #fff);
|
||
border: none;
|
||
border-radius: var(--main-radius, var(--radius, 8px));
|
||
box-shadow: var(--shadow-sm);
|
||
}
|
||
|
||
.aksrt-homepage__content-zone .widget-card,
|
||
.aksrt-homepage__aside .widget {
|
||
background: var(--surface-1, #fff);
|
||
padding: 15px;
|
||
border: none;
|
||
border-radius: var(--main-radius, var(--radius, 8px));
|
||
box-shadow: var(--shadow-sm);
|
||
}
|
||
|
||
/* ================================================================
|
||
4. STREAM TITLE BOX (legacy title-theme / 第N页)
|
||
================================================================ */
|
||
|
||
.title-theme {
|
||
position: relative;
|
||
padding-left: 1.2em;
|
||
font-size: 15px;
|
||
font-weight: 700;
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.title-theme::before {
|
||
position: absolute;
|
||
top: 10%;
|
||
bottom: 10%;
|
||
left: 2px;
|
||
width: 4px;
|
||
content: "";
|
||
background: var(--color-primary);
|
||
border-radius: 5px;
|
||
box-shadow: 1px 1px 3px -1px var(--color-primary);
|
||
}
|
||
|
||
.flex {
|
||
/* No !important: the site-layout-1 / fluid-widget-wrap wide-mode rule
|
||
(.posts-item:not(.card) { display: inline-flex }) must out-rank this
|
||
utility or the no-sidebar two-column pairing collapses back to
|
||
half-width stacked rows. */
|
||
display: flex;
|
||
}
|
||
|
||
.flex.xx,
|
||
.xx {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.flex1,
|
||
.flex-1 {
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
}
|
||
|
||
.jsb,
|
||
.jb {
|
||
justify-content: space-between;
|
||
}
|
||
|
||
.ac {
|
||
align-items: center;
|
||
}
|
||
|
||
/* ================================================================
|
||
5. PAGINATION
|
||
================================================================ */
|
||
|
||
.aksrt-homepage .navigation.pagination .nav-links,
|
||
.aksrt-homepage .pagination {
|
||
gap: 0;
|
||
margin: 20px 0 10px;
|
||
}
|
||
|
||
.aksrt-homepage .navigation.pagination .page-numbers,
|
||
.aksrt-homepage .pagination .page-numbers {
|
||
min-width: 34px;
|
||
height: 34px;
|
||
padding: 0 10px;
|
||
margin: 3px;
|
||
border: 1px solid transparent;
|
||
border-radius: var(--radius-xs, 3px);
|
||
background: var(--surface-4, #eee);
|
||
color: var(--color-ink-3, #777);
|
||
font-size: 13px;
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.aksrt-homepage .navigation.pagination .page-numbers:hover,
|
||
.aksrt-homepage .pagination .page-numbers:hover {
|
||
opacity: 1;
|
||
background: var(--color-primary-soft);
|
||
color: var(--color-primary);
|
||
}
|
||
|
||
.aksrt-homepage .navigation.pagination .current,
|
||
.aksrt-homepage .pagination .current {
|
||
background: var(--color-primary, var(--color-primary)) !important;
|
||
color: #fff !important;
|
||
}
|
||
|
||
/* ================================================================
|
||
6. SIDEBAR
|
||
================================================================ */
|
||
|
||
.aksrt-homepage__aside > .aksrt-panel,
|
||
.aksrt-homepage__aside > .widget {
|
||
margin-bottom: 15px;
|
||
padding: 15px;
|
||
background: var(--surface-1, #fff);
|
||
border: 0;
|
||
border-radius: var(--main-radius, var(--radius, 8px));
|
||
box-shadow: var(--shadow-sm);
|
||
}
|
||
|
||
.aksrt-homepage__aside > .aksrt-panel:last-child,
|
||
.aksrt-homepage__aside > .widget:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget-list li,
|
||
.aksrt-homepage__aside .widget_recent_entries li,
|
||
.aksrt-homepage__aside .recent-posts-row {
|
||
padding-top: 8px;
|
||
padding-bottom: 8px;
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget-title,
|
||
.aksrt-homepage__content-zone .widget-title {
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget-title {
|
||
position: relative;
|
||
margin: 0 0 10px;
|
||
padding-left: 1.2em;
|
||
padding-bottom: 8px;
|
||
font-size: 15px;
|
||
font-weight: 700;
|
||
line-height: 1.4;
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget-title::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 10%;
|
||
bottom: 10%;
|
||
left: 2px;
|
||
width: 4px;
|
||
height: auto;
|
||
background: var(--color-primary, var(--color-primary));
|
||
border-radius: 5px;
|
||
box-shadow: 1px 1px 3px -1px var(--color-primary, var(--color-primary));
|
||
transition: transform 0.4s ease;
|
||
transform-origin: left;
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget_recent_entries li a,
|
||
.aksrt-homepage__aside .widget-list li a {
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget_recent_entries li {
|
||
display: block;
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget_search .search-field {
|
||
height: 40px;
|
||
border-radius: 30px;
|
||
background: var(--surface-2, #eee);
|
||
}
|
||
|
||
.aksrt-homepage__aside .widget_search .search-submit {
|
||
top: 4px;
|
||
right: 4px;
|
||
height: 32px;
|
||
padding: 0 12px;
|
||
border-radius: 30px;
|
||
font-size: 12px;
|
||
}
|
||
|
||
.aksrt-homepage__aside .tag-cloud {
|
||
gap: 6px;
|
||
}
|
||
|
||
.aksrt-homepage__aside .tag-cloud a {
|
||
padding: 4px 10px;
|
||
border-radius: 20px;
|
||
font-size: 12px;
|
||
border: 0;
|
||
background: var(--surface-2, #eee);
|
||
transition: background 0.2s, color 0.2s;
|
||
}
|
||
|
||
.aksrt-homepage__aside .tag-cloud a:hover {
|
||
background: var(--color-primary, var(--color-primary));
|
||
color: #fff;
|
||
}
|
||
|
||
.aksrt-homepage .widget.notop,
|
||
.aksrt-homepage .box-body.notop {
|
||
padding-top: 0;
|
||
}
|
||
|
||
.aksrt-homepage .widget.nobottom,
|
||
.aksrt-homepage .box-body.nobottom {
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.aksrt-homepage .widget.widget_custom_html {
|
||
padding: 0;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
border-radius: 0;
|
||
}
|