主题自带一个好看的最近评论挂件,用户不必再装插件。 新挂件 widget_recent_comments(id_base = yang_recent_comments): - 头像 40px 圆形 + object-fit:cover,带 max-width/max-height 双保险 - 摘要按字符截断(mb_substr),先剥标签再压空白,不走 wp_html_excerpt(按字节切半个汉字) - 作者 · 相对时间 · 文章标题三段各自成 span,不拼 i18n 句式 - 三层字号:摘要 15px / 作者 14px / 文章 13px(文章字号继承自 meta) - 条间虚线,最后一条去掉 - 后台九项设置:标题、条数、头像、头像尺寸、摘要、摘要字数、排除 pingback、评论类型、文章类型 实现要点: - CSS 不依赖 .k-main .sidebar 祖先,只依到 .w-comments 自身 (3.2.51 的红线:带祖先的选择器在后台「外观→小工具」预览里一条不生效) - .w-comments 自己不写 padding,交给 widget 基类,避免与其它挂件错位 - 只查 status=approve 且 post_status=publish,草稿文章评论不露出 同时修一个前后台不一致的 bug: - form() 的 post_type 原来走 pick(),pick() 把空串当"没填"回落 'post' ⇒ 老实例(存空串)在后台下拉框显示「文章」,前台却按「全部类型」渲染。 改为 widget() 与 form() 都直接读原值,两处都识别空串/any 为「全部类型」。 验证:行为 112/0 · 行为反证 25/25 + CSS 10/10 · 几何 50/0 · 线上真实页面 30/0 · 静态反证 23/0 · 发布脚本 22 组反证全真红。
2602 lines
58 KiB
CSS
2602 lines
58 KiB
CSS
@charset "UTF-8";
|
||
|
||
/*--------------------------------------------------------------
|
||
>>> Kratos 样式表
|
||
>>> Yongquan Yang <yangyq.net>
|
||
----------------------------------------------------------------
|
||
|
||
1. 全局
|
||
2. 导航
|
||
3. Banner
|
||
4. 分页按钮
|
||
5. 文章列表
|
||
6. 文章正文
|
||
7. 内容工具区
|
||
8. 文章评论
|
||
9. 小工具
|
||
10. 404
|
||
11. 页脚
|
||
|
||
--------------------------------------------------------------*/
|
||
|
||
/*--------------------------------------------------------------
|
||
1. 全局
|
||
--------------------------------------------------------------*/
|
||
|
||
body {
|
||
overflow-x: hidden;
|
||
background: #f5f5f5;
|
||
font-weight: 350;
|
||
font-size: 16px;
|
||
font-family: -apple-system, BlinkMacSystemFont, opensans, Optima,
|
||
"Microsoft Yahei", sans-serif;
|
||
line-height: 1.8;
|
||
}
|
||
|
||
a {
|
||
color: #00a2ff;
|
||
-webkit-transition: 0.3s;
|
||
-o-transition: 0.3s;
|
||
transition: 0.3s;
|
||
}
|
||
|
||
a:hover {
|
||
color: #0097ee;
|
||
text-decoration: none;
|
||
}
|
||
|
||
a:focus {
|
||
outline: 0;
|
||
text-decoration: none;
|
||
}
|
||
|
||
ol,
|
||
p,
|
||
ul {
|
||
margin-bottom: 16px;
|
||
color: #333;
|
||
font-size: 16px;
|
||
}
|
||
|
||
ul,
|
||
ol {
|
||
margin: 0 0 16px;
|
||
padding-left: 16px;
|
||
}
|
||
|
||
ol > li {
|
||
margin-bottom: 6px;
|
||
padding-left: 2px;
|
||
list-style: decimal;
|
||
line-height: 22px;
|
||
}
|
||
|
||
ul > li {
|
||
margin-bottom: 6px;
|
||
padding-left: 2px;
|
||
list-style: circle;
|
||
line-height: 22px;
|
||
}
|
||
|
||
h1,
|
||
h2,
|
||
h3,
|
||
h4,
|
||
h5,
|
||
h6 {
|
||
margin: 0 0 30px 0;
|
||
color: #333;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.tooltip-inner {
|
||
padding: 7px 6px;
|
||
font-size: 13px;
|
||
}
|
||
|
||
:active,
|
||
:focus,
|
||
button:focus {
|
||
outline: none;
|
||
}
|
||
|
||
.btn-outline-primary.focus,
|
||
.btn-outline-primary:focus,
|
||
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
|
||
.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
|
||
.show > .btn-outline-primary.dropdown-toggle:focus,
|
||
.form-control:focus {
|
||
box-shadow: none;
|
||
}
|
||
|
||
::-moz-placeholder {
|
||
color: #ffffff;
|
||
}
|
||
|
||
::-webkit-input-placeholder {
|
||
color: #ffffff;
|
||
}
|
||
|
||
:-ms-input-placeholder {
|
||
color: #ffffff;
|
||
}
|
||
|
||
::selection {
|
||
background: #ddd;
|
||
color: #000;
|
||
text-shadow: none;
|
||
}
|
||
|
||
::-webkit-selection {
|
||
background: #ddd;
|
||
color: #000;
|
||
text-shadow: none;
|
||
}
|
||
|
||
::-moz-selection {
|
||
background: #ddd;
|
||
color: #000;
|
||
text-shadow: none;
|
||
}
|
||
|
||
::-webkit-scrollbar {
|
||
overflow: auto;
|
||
width: 10px;
|
||
height: 6.4px;
|
||
}
|
||
|
||
::-webkit-scrollbar-thumb {
|
||
min-width: 25px;
|
||
min-height: 25px;
|
||
border: 1px solid #e0e0e0;
|
||
background-color: #bbbbbb;
|
||
}
|
||
|
||
::-webkit-scrollbar-track {
|
||
border: 1px solid #efefef;
|
||
background-color: #f7f7f7;
|
||
}
|
||
|
||
.k-main {
|
||
padding: 23px 0;
|
||
}
|
||
|
||
.k-main.color {
|
||
padding-top: 103px;
|
||
}
|
||
|
||
@media only screen and (max-width: 992px) {
|
||
.k-main.color {
|
||
padding-top: 92px;
|
||
}
|
||
}
|
||
|
||
@media only screen and (max-width: 768px) {
|
||
.k-main.color {
|
||
padding-top: 83px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
2. 导航
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-nav {
|
||
position: absolute;
|
||
background-color: rgba(40, 42, 44, 0.6);
|
||
}
|
||
|
||
.k-nav .navbar-brand {
|
||
color: #ffffff;
|
||
font-size: 24px;
|
||
}
|
||
|
||
.k-nav .navbar-brand img {
|
||
width: 100px;
|
||
}
|
||
|
||
.k-nav .navbar-toggler {
|
||
padding: 13px;
|
||
border-color: transparent;
|
||
border-radius: 0;
|
||
color: #343a40;
|
||
text-transform: uppercase;
|
||
font-weight: 600;
|
||
font-size: 12px;
|
||
}
|
||
|
||
.k-nav .navbar-nav {
|
||
position: relative;
|
||
}
|
||
|
||
.k-nav .navbar-nav li {
|
||
margin-bottom: 0;
|
||
padding-left: 0;
|
||
list-style: none;
|
||
}
|
||
|
||
.k-nav .navbar-nav > li.nav-item > a {
|
||
text-transform: uppercase;
|
||
letter-spacing: 1px;
|
||
font-weight: 400;
|
||
font-size: 17px;
|
||
}
|
||
|
||
.k-nav .line {
|
||
display: flex;
|
||
width: 24px;
|
||
height: 2px;
|
||
background: #ffffff;
|
||
transition: all 0.3s ease-out;
|
||
}
|
||
|
||
.k-nav .second-line {
|
||
margin: 5px 0;
|
||
}
|
||
|
||
.nav-close .first-line {
|
||
transform: rotate(45deg) translate3d(5px, 5px, 0);
|
||
transform-origin: center;
|
||
}
|
||
|
||
.nav-close .second-line {
|
||
transform: scale3d(0, 1, 1);
|
||
}
|
||
|
||
.nav-close .third-line {
|
||
transform: rotate(-45deg) translate3d(5px, -5px, 0);
|
||
transform-origin: center;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .nav-link,
|
||
.navbar-light .navbar-nav .nav-link:focus,
|
||
.navbar-light .navbar-nav .nav-link:hover,
|
||
.navbar-light .navbar-nav .active > .nav-link,
|
||
.navbar-light .navbar-nav .nav-link.active,
|
||
.navbar-light .navbar-nav .nav-link.show,
|
||
.navbar-light .navbar-nav .show > .nav-link {
|
||
color: #ffffff;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .nav-link:hover {
|
||
color: rgba(255, 255, 255, 0.8);
|
||
}
|
||
|
||
.navbar-light .navbar-nav .nav-link .fas {
|
||
margin-right: 3px;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .dropdown-menu {
|
||
margin: 2px 0 0;
|
||
padding: 5px 0;
|
||
min-width: 140px;
|
||
border: none;
|
||
font-size: 15px;
|
||
}
|
||
|
||
.dropdown-item.active,
|
||
.dropdown-item:active {
|
||
background-color: #00a2ff;
|
||
}
|
||
|
||
.dropdown-toggle::after {
|
||
display: inline-block;
|
||
margin-left: 2px;
|
||
border-top: 0;
|
||
border-right: 0;
|
||
border-bottom: 0;
|
||
border-left: 0;
|
||
content: "\e62e";
|
||
vertical-align: unset;
|
||
font-size: 16px;
|
||
font-family: kicon;
|
||
transform: rotate(180deg);
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
导航多级下拉(3.2.27)
|
||
--------------------------------------------------------------
|
||
* Bootstrap 4 原生不支持嵌套下拉(.dropdown-submenu 在 BS3 有、
|
||
* BS4 删了),主题自己补齐。标记来自 theme-navwalker.php:
|
||
* 深层父项 <li class="... dropdown-submenu">,子菜单仍是 <ul class="dropdown-menu">。
|
||
*
|
||
* 桌面端(>992px)交互:**悬停父项,子菜单从右侧弹出**——
|
||
* left:100% 让子菜单左边缘贴住 li 右边缘,无缝隙(有缝隙鼠标
|
||
* 移过去就会离开 li,子菜单闪没);top:0 让两行首行对齐。
|
||
* 子菜单触发链接不带 data-toggle,开合完全走 CSS hover,
|
||
* 避免 Bootstrap 的 dropdown JS 用 Popper 重算位置、把子菜单
|
||
* 拽回"父项正下方",跟"从右侧弹出"打架。
|
||
*
|
||
* 移动端(≤992px):悬停不存在,改为**随父级展开直接平铺**:
|
||
* position:static + display:block,用左缩进表达层级。
|
||
* 整个菜单收起时它也在 .collapse 里,不会提前露出。 */
|
||
|
||
.navbar-light .navbar-nav .dropdown-submenu {
|
||
position: relative;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .dropdown-submenu > .dropdown-menu {
|
||
top: 0;
|
||
left: 100%;
|
||
margin-top: -6px;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .dropdown-submenu:hover > .dropdown-menu {
|
||
display: block;
|
||
}
|
||
|
||
/* 深层父项的箭头:顶层的 kicon 下箭头在这里换成朝右的 CSS 三角,
|
||
表达"向右还有一层"。必须同时清掉 kicon 字体与 rotate(180deg),
|
||
否则 content:"" 配上图标字体渲染不出任何东西。 */
|
||
.navbar-light .navbar-nav .dropdown-submenu > a.dropdown-toggle::after {
|
||
content: "";
|
||
border-top: 0.32em solid transparent;
|
||
border-bottom: 0.32em solid transparent;
|
||
border-left: 0.32em solid currentColor;
|
||
font-family: inherit;
|
||
transform: none;
|
||
vertical-align: 0.08em;
|
||
}
|
||
|
||
@media screen and (max-width: 992px) {
|
||
.navbar-light .navbar-nav .dropdown-submenu > .dropdown-menu {
|
||
position: static;
|
||
display: block;
|
||
float: none;
|
||
margin-left: 16px;
|
||
border-left: 1px solid rgba(255, 255, 255, 0.25);
|
||
}
|
||
|
||
.navbar-light .navbar-nav .dropdown-submenu > a.dropdown-toggle::after {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
@media only screen and (min-width: 992px) {
|
||
.k-nav {
|
||
border-bottom: 1px solid transparent;
|
||
background: transparent;
|
||
-webkit-transition: background-color 0.2s;
|
||
-moz-transition: background-color 0.2s;
|
||
transition: background-color 0.2s;
|
||
-webkit-transform: translate3d(0, 0, 0);
|
||
-moz-transform: translate3d(0, 0, 0);
|
||
-o-transform: translate3d(0, 0, 0);
|
||
transform: translate3d(0, 0, 0);
|
||
-ms-transform: translate3d(0, 0, 0);
|
||
}
|
||
|
||
.k-nav .navbar-brand {
|
||
padding: 10px 20px;
|
||
color: #fff;
|
||
}
|
||
|
||
.k-nav .navbar-brand:focus,
|
||
.k-nav .navbar-brand:hover {
|
||
color: rgba(255, 255, 255, 0.8);
|
||
}
|
||
|
||
.k-nav .navbar-nav > li.nav-item > a {
|
||
padding: 10px 20px;
|
||
color: #fff;
|
||
}
|
||
|
||
.k-nav .navbar-nav > li.nav-item > a:focus,
|
||
.k-nav .navbar-nav > li.nav-item > a:hover {
|
||
color: rgba(255, 255, 255, 0.8);
|
||
}
|
||
|
||
.k-nav.is-fixed {
|
||
position: fixed;
|
||
top: -67px;
|
||
border-bottom: 1px solid white;
|
||
background-color: rgba(255, 255, 255, 0.9);
|
||
-webkit-transition: -webkit-transform 0.2s;
|
||
-moz-transition: -moz-transform 0.2s;
|
||
transition: transform 0.2s;
|
||
}
|
||
|
||
.k-nav.is-fixed .navbar-brand {
|
||
color: #212529;
|
||
}
|
||
|
||
.k-nav.is-fixed .navbar-brand:focus,
|
||
.k-nav.is-fixed .navbar-brand:hover {
|
||
color: #007bff;
|
||
}
|
||
|
||
.k-nav.is-fixed .navbar-nav > li.nav-item > a {
|
||
color: #212529;
|
||
}
|
||
|
||
.k-nav.is-fixed .navbar-nav > li.nav-item > a:focus,
|
||
.k-nav.is-fixed .navbar-nav > li.nav-item > a:hover {
|
||
color: #007bff;
|
||
}
|
||
|
||
.k-nav.is-visible {
|
||
-webkit-transform: translate3d(0, 100%, 0);
|
||
-moz-transform: translate3d(0, 100%, 0);
|
||
-o-transform: translate3d(0, 100%, 0);
|
||
transform: translate3d(0, 100%, 0);
|
||
-ms-transform: translate3d(0, 100%, 0);
|
||
}
|
||
}
|
||
|
||
@media screen and (max-width: 992px) {
|
||
.navbar-light .navbar-nav .dropdown-menu,
|
||
.navbar-light .navbar-nav .dropdown-item.active,
|
||
.navbar-light .navbar-nav .dropdown-item:active,
|
||
.navbar-light .navbar-nav .dropdown-item:focus,
|
||
.navbar-light .navbar-nav .dropdown-item:hover {
|
||
background-color: transparent;
|
||
}
|
||
|
||
.k-nav .navbar-nav > li.nav-item > a {
|
||
font-size: 16px;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .dropdown-item {
|
||
color: #ffffff;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .dropdown-menu {
|
||
padding: 0;
|
||
}
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-nav .navbar-brand {
|
||
font-size: 19px;
|
||
}
|
||
|
||
.navbar-light .navbar-nav .nav-link {
|
||
font-size: 16px;
|
||
}
|
||
|
||
.navbar-light .navbar-brand:hover {
|
||
color: rgba(255, 255, 255, 0.8);
|
||
}
|
||
|
||
.k-nav .navbar-nav > li.nav-item > a {
|
||
font-size: 14px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
3. Banner
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-header .banner {
|
||
position: relative;
|
||
height: 300px;
|
||
}
|
||
|
||
.k-header .banner .overlay {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
z-index: 1;
|
||
width: 100%;
|
||
background: rgba(66, 64, 64, 0.2);
|
||
}
|
||
|
||
.k-header .banner .content {
|
||
position: relative;
|
||
height: 300px;
|
||
background-position: center center;
|
||
background-size: cover;
|
||
}
|
||
|
||
.k-header .banner .content .introduce {
|
||
position: absolute;
|
||
top: 37%;
|
||
z-index: 10;
|
||
width: 100%;
|
||
color: #fff;
|
||
text-shadow: 2px 2px 2px #666;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-header .banner .content .introduce .title {
|
||
margin-bottom: 5px;
|
||
font-size: 35px;
|
||
}
|
||
|
||
.k-header .banner .content .introduce .mate {
|
||
font-size: 25px;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-header .banner {
|
||
height: 290px;
|
||
}
|
||
|
||
.k-header .banner .content {
|
||
height: 290px;
|
||
}
|
||
|
||
.k-header .banner .content .introduce {
|
||
top: 43%;
|
||
}
|
||
|
||
.k-header .banner .content .introduce .title {
|
||
font-size: 30px;
|
||
}
|
||
|
||
.k-header .banner .content .introduce .mate {
|
||
font-size: 20px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
4. 分页按钮
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-main .board .paginations {
|
||
margin: 23px auto;
|
||
width: 100%;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .board .paginations a {
|
||
padding: 8px 12px;
|
||
background: #fff;
|
||
color: #444;
|
||
}
|
||
|
||
.k-main .board .paginations .current {
|
||
padding: 8px 12px;
|
||
background: #00a2ff;
|
||
color: #fff;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.k-main .board .paginations .dots {
|
||
padding: 8px 12px;
|
||
background: #fff;
|
||
color: #444;
|
||
}
|
||
|
||
.k-main .details .article .content .paginations {
|
||
padding-top: 20px;
|
||
width: 100%;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .details .article .content .paginations a {
|
||
margin: 0 3px;
|
||
}
|
||
|
||
.k-main .details .article .content .paginations a span {
|
||
padding: 7px 12px;
|
||
border: solid 1px #00a2ff;
|
||
background-color: #f0f8ff;
|
||
color: #00a2ff;
|
||
}
|
||
|
||
.k-main .details .article .content .paginations .current span,
|
||
.k-main .details .article .content .paginations a span:hover {
|
||
padding: 7px 12px;
|
||
border: solid 1px #00a2ff;
|
||
background: #00a2ff;
|
||
color: #ffffff;
|
||
font-weight: 400;
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
5. 文章列表
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-main .board .article-panel {
|
||
margin: 0 0 23px;
|
||
border-radius: 0;
|
||
background-color: #fff;
|
||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
}
|
||
|
||
.k-main .board .article-panel:last-of-type {
|
||
margin: 0;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-thumb {
|
||
position: relative;
|
||
float: left;
|
||
overflow: hidden;
|
||
margin: 20px;
|
||
width: 240px;
|
||
height: 145px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-thumb img {
|
||
padding: 2px;
|
||
width: 100%;
|
||
height: 100%;
|
||
border: 1px solid #f3f3f3;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post {
|
||
margin-left: 255px;
|
||
padding: 21px 20px 0 3px;
|
||
height: 160px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post.a-none {
|
||
margin-left: 0;
|
||
padding: 20px;
|
||
height: auto;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header {
|
||
display: -webkit-box;
|
||
overflow: hidden;
|
||
margin: 3px 0 6px;
|
||
/* 下面两条已废弃:新版 Chrome 里 max-height 与 -webkit-line-clamp 同时生效会截断成半行。
|
||
直接删除而不是注释,因为注释会被 CSS 压缩器剥掉,产物里等于没改。 */
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 1;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header .label {
|
||
position: relative;
|
||
top: -2px;
|
||
display: inline-block;
|
||
margin-right: 5px;
|
||
padding: 4px 6px 3px;
|
||
border-radius: 0;
|
||
background-color: #00a2ff;
|
||
color: #fff;
|
||
vertical-align: baseline;
|
||
text-align: center;
|
||
white-space: nowrap;
|
||
font-size: 12px;
|
||
line-height: 14px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header .label .label-arrow {
|
||
position: absolute;
|
||
top: 6px;
|
||
right: -4px;
|
||
width: 0;
|
||
height: 0;
|
||
border-top: 4px solid transparent;
|
||
border-bottom: 4px solid transparent;
|
||
border-left: 4px solid #00a2ff;
|
||
content: "";
|
||
vertical-align: top;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header .title {
|
||
display: inline;
|
||
margin: 0;
|
||
font-size: 21px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header .title a {
|
||
color: #333;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header .title a:hover {
|
||
color: #0097ee;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .content {
|
||
display: block;
|
||
display: -webkit-box;
|
||
overflow: hidden;
|
||
max-height: 110px;
|
||
text-overflow: ellipsis;
|
||
word-wrap: break-word;
|
||
cursor: default;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 4;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .content p {
|
||
margin-bottom: 0;
|
||
font-size: 15px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta {
|
||
clear: both;
|
||
overflow: hidden;
|
||
padding: 8px 20px;
|
||
border-top: 1px solid #f3f3f3;
|
||
font-size: 12px;
|
||
line-height: 27px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta span {
|
||
font-size: 13px;
|
||
line-height: 24px;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta span > i {
|
||
margin-right: 3px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta span > a {
|
||
color: #333;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta span > a:hover {
|
||
color: #0097ee;
|
||
text-decoration: none;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta span > a > i {
|
||
margin-left: 3px;
|
||
}
|
||
|
||
.k-main .board .article-panel .search-title {
|
||
padding: 20px 25px;
|
||
color: #000;
|
||
font-size: 18px;
|
||
}
|
||
|
||
.k-main .board .article-panel .nothing {
|
||
padding: 50px;
|
||
text-align: center;
|
||
}
|
||
|
||
.k-main .board .article-panel .nothing img {
|
||
width: 50%;
|
||
}
|
||
|
||
.k-main .board .article-panel .nothing .sorry {
|
||
margin-top: 30px;
|
||
font-size: 20px;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-main .board .article-panel .a-thumb {
|
||
position: relative;
|
||
float: none;
|
||
overflow: hidden;
|
||
margin: 0;
|
||
margin-bottom: 14px;
|
||
padding: 0;
|
||
padding-bottom: 53%;
|
||
width: auto;
|
||
height: 0;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-thumb img {
|
||
padding: 0;
|
||
height: auto;
|
||
max-width: 100%;
|
||
border: 0;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post {
|
||
margin-left: 0;
|
||
padding: 0 12px;
|
||
height: auto;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header {
|
||
margin: 0 0 9px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header .label {
|
||
display: none;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .header .title {
|
||
font-size: 20px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post .content {
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-post.a-none .content {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta {
|
||
padding: 5px 12px;
|
||
}
|
||
|
||
.k-main .board .article-panel .a-meta span {
|
||
font-size: 12px;
|
||
}
|
||
|
||
.k-main .board .article-panel .nothing .sorry {
|
||
font-size: 18px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
6. 文章正文
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-main .details .article {
|
||
background-color: #fff;
|
||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
word-wrap: break-word;
|
||
word-break: break-all;
|
||
}
|
||
|
||
.k-main .details .article .breadcrumb-box {
|
||
border-bottom: 1px solid #f7f7f7;
|
||
}
|
||
|
||
.k-main .details .article > :first-child {
|
||
margin-top: 0;
|
||
}
|
||
|
||
.k-main .details .article > :last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.k-main .details .article .breadcrumb-box .breadcrumb {
|
||
margin-bottom: 0;
|
||
padding: 12px 16px;
|
||
border-radius: 0;
|
||
background-color: inherit;
|
||
font-size: 13px;
|
||
}
|
||
|
||
.k-main .details .article .breadcrumb-box .breadcrumb li {
|
||
margin-bottom: 0;
|
||
list-style: none;
|
||
}
|
||
|
||
.breadcrumb-item + .breadcrumb-item {
|
||
padding-left: 0.3rem;
|
||
}
|
||
|
||
.breadcrumb-item + .breadcrumb-item::before {
|
||
padding-right: 0.2rem;
|
||
}
|
||
|
||
.k-main .details .article .breadcrumb-box .breadcrumb-item.active {
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .details .article .header {
|
||
padding: 0 16px 16px;
|
||
}
|
||
|
||
.k-main .details .article .header .title {
|
||
padding-bottom: 0;
|
||
border: none;
|
||
}
|
||
|
||
.k-main .details .article .header .meta {
|
||
color: #5a5a5a;
|
||
font-size: 14px;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .details .article .header .meta a {
|
||
color: inherit;
|
||
}
|
||
|
||
.k-main .details .article .header .meta > span:not(:last-child):after {
|
||
margin-right: 5px;
|
||
margin-left: 5px;
|
||
color: #71777c;
|
||
content: "\B7";
|
||
}
|
||
|
||
.k-main .details .article .content {
|
||
padding: 0 16px 16px;
|
||
word-wrap: break-word;
|
||
line-height: 1.8;
|
||
word-break: break-all;
|
||
}
|
||
|
||
.k-main .details .article .content::after,
|
||
.k-main .details .article .content p::after {
|
||
clear: both;
|
||
display: block;
|
||
content: "";
|
||
}
|
||
|
||
.k-main .details .article h1,
|
||
.k-main .details .article .content h2,
|
||
.k-main .details .article .content h3,
|
||
.k-main .details .article .content h4,
|
||
.k-main .details .article .content h5,
|
||
.k-main .details .article .content h6 {
|
||
margin-top: 24px;
|
||
margin-bottom: 16px;
|
||
font-weight: 500;
|
||
line-height: 32px;
|
||
}
|
||
|
||
.k-main .details .article h1 {
|
||
padding-bottom: 4.8px;
|
||
/* border-bottom: 1px solid #eaecef; */
|
||
font-size: 30px;
|
||
line-height: 38px;
|
||
}
|
||
|
||
.k-main .details .article .content h2 {
|
||
font-size: 24px;
|
||
}
|
||
|
||
.k-main .details .article .content h2.title {
|
||
margin: 16px -16px;
|
||
padding: 0 10px;
|
||
border-left: 5px solid #00a2ff;
|
||
background-color: rgba(243, 243, 243, 0.7);
|
||
font-size: 20px;
|
||
line-height: 41px;
|
||
}
|
||
|
||
.k-main .details .article .content h3 {
|
||
font-size: 18px;
|
||
}
|
||
|
||
.k-main .details .article .content h4 {
|
||
font-size: 16px;
|
||
}
|
||
|
||
.k-main .details .article .content h5 {
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .details .article .content h6 {
|
||
font-size: 12px;
|
||
}
|
||
|
||
.k-main .details .article .content p {
|
||
color: #151515;
|
||
line-height: 30px;
|
||
}
|
||
|
||
.k-main .details .article .content .progress {
|
||
margin-bottom: 16px;
|
||
}
|
||
|
||
.k-main .details .article .content .video-container {
|
||
margin-bottom: 16px;
|
||
}
|
||
|
||
.k-main .details .article .content blockquote {
|
||
margin-bottom: 16px;
|
||
padding: 16px;
|
||
border-left: 6px solid #dce6f0;
|
||
background: #f2f7fb;
|
||
color: #819198;
|
||
font-size: 15px;
|
||
}
|
||
|
||
.k-main .details .article .content blockquote p {
|
||
margin-bottom: -3px;
|
||
}
|
||
|
||
.k-main .details .article .content hr {
|
||
margin: 24px 0;
|
||
height: 1px;
|
||
border: none;
|
||
border-top: 1px solid #a5a5a5;
|
||
}
|
||
|
||
.k-main .details .article .content pre {
|
||
margin: 10px 0;
|
||
padding: 11px 16px;
|
||
border-radius: 4px;
|
||
background-color: #f8f8f8;
|
||
word-wrap: break-word;
|
||
font-size: 11px;
|
||
line-height: 1.7;
|
||
word-break: break-all;
|
||
}
|
||
|
||
.k-main .details .article .content code {
|
||
margin: 0 3px;
|
||
padding: 2px 4px;
|
||
border-radius: 4px;
|
||
background-color: #eff0f1;
|
||
color: #333;
|
||
font-size: 13px;
|
||
word-break: inherit;
|
||
}
|
||
|
||
.k-main .details .article .content kbd {
|
||
display: inline-block;
|
||
margin: -3px 1.6px 0;
|
||
padding: 2.4px 9.6px;
|
||
border: 1px solid #adb3b9;
|
||
border-radius: 3px;
|
||
background-color: #e1e3e5;
|
||
box-shadow: 0 1px 0 rgba(12, 13, 14, 0.2), 0 0 0 2px #fff inset;
|
||
color: #242729;
|
||
vertical-align: middle;
|
||
text-shadow: 0 1px 0 #fff;
|
||
white-space: nowrap;
|
||
font-size: 10px;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
.k-main .details .article .content pre code {
|
||
margin: 0;
|
||
padding: 0;
|
||
background-color: transparent;
|
||
}
|
||
|
||
.k-main .details .article .content pre ol {
|
||
padding: 0;
|
||
}
|
||
|
||
.k-main .details .article .content pre li {
|
||
margin: 0;
|
||
list-style: none;
|
||
}
|
||
|
||
.k-main .details .article .content .wp-caption-text {
|
||
margin-bottom: 0;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .details .article .content .wp-block-image {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.k-main .details .article .content .wp-block-image figcaption {
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .details .article .content figure {
|
||
margin: 0;
|
||
}
|
||
|
||
.k-main .details .article .content .alignleft::after,
|
||
.k-main .details .article .content .aligncenter::after,
|
||
.k-main .details .article .content .alignright::after {
|
||
clear: both;
|
||
display: block;
|
||
content: "";
|
||
}
|
||
|
||
.k-main .details .article .content .alignleft {
|
||
float: left;
|
||
margin-right: 16px;
|
||
}
|
||
|
||
.k-main .details .article .content p > img,
|
||
.k-main .details .article .content p a > img {
|
||
display: block;
|
||
}
|
||
|
||
.k-main .details .article .content .wp-smiley {
|
||
display: inline;
|
||
}
|
||
|
||
.k-main .details .article .content .aligncenter {
|
||
margin-right: auto;
|
||
margin-left: auto;
|
||
}
|
||
|
||
.k-main .details .article .content .alignright {
|
||
float: right;
|
||
margin-left: 16px;
|
||
}
|
||
|
||
.k-main .details .article .content img {
|
||
height: auto;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.k-main .details .article .content table {
|
||
display: table;
|
||
overflow: auto;
|
||
width: 100%;
|
||
table-layout: fixed;
|
||
word-break: break-all;
|
||
}
|
||
|
||
.k-main .details .article .content table th,
|
||
.k-main .details .article .content table td {
|
||
padding: 8px 16px;
|
||
border: 1px solid #e9ebec;
|
||
}
|
||
|
||
.k-main .details .article .content table th {
|
||
font-weight: bold;
|
||
}
|
||
|
||
.k-main .details .article .content table tr:nth-child(2n) {
|
||
background-color: #f8f8f8;
|
||
}
|
||
|
||
.k-main .details .article .content .alert,
|
||
.k-main .details .article .content .card,
|
||
.card-header:first-child {
|
||
border-radius: 0;
|
||
}
|
||
|
||
.k-main .details .article .content .card-header {
|
||
padding: 6px 15px;
|
||
}
|
||
|
||
.k-main .details .article .content .card-body {
|
||
padding: 10px 15px;
|
||
}
|
||
|
||
.k-main .details .article .content .alert {
|
||
padding: 10px 15px;
|
||
}
|
||
|
||
.k-main .details .article .content .downbtn {
|
||
display: inline-block;
|
||
margin-bottom: 16px;
|
||
padding: 3px 10px;
|
||
border: 1px solid #39aaf9;
|
||
background: #39aaf9;
|
||
color: #fff;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .details .article .content .downbtn:hover {
|
||
background: #37a0eb;
|
||
color: #fff;
|
||
}
|
||
|
||
.k-main .details .article .content .downbtn:focus {
|
||
color: #fff;
|
||
text-decoration: none;
|
||
}
|
||
|
||
.k-main .details .article .content .video-container {
|
||
position: relative;
|
||
overflow: hidden;
|
||
padding-bottom: 75%;
|
||
height: 0;
|
||
}
|
||
|
||
.k-main .details .article .content .video-container embed,
|
||
.video-container iframe {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.k-main .details .article .content > :last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.k-main .details .article .copyright {
|
||
padding: 0 16px 16px;
|
||
}
|
||
|
||
.k-main .details .article .copyright span {
|
||
display: block;
|
||
padding: 18px;
|
||
background-color: #f7f7fa;
|
||
color: #333333;
|
||
font-size: 14px;
|
||
line-height: 20px;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .details .article .footer {
|
||
padding: 0 16px 10px;
|
||
border-top: 1px solid #f2f2f2;
|
||
}
|
||
|
||
.k-main .details .article .footer .tags,
|
||
.k-main .details .article .footer .tool {
|
||
margin-top: 10px;
|
||
}
|
||
|
||
.k-main .details .article .footer .tags span,
|
||
.k-main .details .article .footer .tool span {
|
||
color: #333333;
|
||
font-size: 14px;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .details .article .footer .tags a {
|
||
margin: 0 5px 0 0;
|
||
padding: 2px 7px;
|
||
background-color: #a9a9a9;
|
||
color: #fff;
|
||
font-size: 13px;
|
||
}
|
||
|
||
.k-main .details .article .content .accordion {
|
||
margin-bottom: 16px;
|
||
border: 1px solid #e5e8ed;
|
||
}
|
||
|
||
.k-main .details .article .content .accordion .acheader {
|
||
position: relative;
|
||
padding: 5px 15px;
|
||
background: #f7f8fa;
|
||
}
|
||
|
||
.k-main .details .article .content .accordion .acheader span {
|
||
font-weight: 600;
|
||
font-size: 17px;
|
||
}
|
||
|
||
.k-main .details .article .content .accordion .acheader .icon {
|
||
position: absolute;
|
||
right: 15px;
|
||
font-size: 17px;
|
||
}
|
||
|
||
.k-main .details .article .content .accordion .acheader .icon .kicon {
|
||
font-size: 17px;
|
||
}
|
||
|
||
.k-main .details .article .content .accordion.active .icon {
|
||
-webkit-transition: 0.3s;
|
||
transition: 0.3s;
|
||
-webkit-transform: rotate(-45deg);
|
||
transform: rotate(-45deg);
|
||
}
|
||
|
||
.k-main .details .article .content .accordion .contents {
|
||
display: none;
|
||
border-top: 1px solid #e6e6e6;
|
||
}
|
||
|
||
.k-main .details .article .content .accordion .contents .inner {
|
||
padding: 5px 15px;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-main .details .article .header {
|
||
padding: 0 16px 12px;
|
||
}
|
||
|
||
.k-main .details .article h1 {
|
||
margin-top: 14px;
|
||
margin-bottom: 14px;
|
||
font-size: 22px;
|
||
}
|
||
|
||
.k-main .details .article .header .meta {
|
||
font-size: 12px;
|
||
}
|
||
|
||
.k-main .details .article .content p {
|
||
font-size: 15px;
|
||
}
|
||
|
||
.k-main .details .article .content table {
|
||
display: block;
|
||
word-break: keep-all;
|
||
}
|
||
|
||
.k-main .details .article .header .meta span:not(:first-child) {
|
||
margin-left: 5px;
|
||
}
|
||
|
||
.k-main .details .article .header .meta > span:not(:last-child):after {
|
||
content: none;
|
||
}
|
||
|
||
.k-main .details .article .content .alert {
|
||
padding: 10px 15px;
|
||
font-size: 15px;
|
||
}
|
||
|
||
.k-main .details .article .content .card-header {
|
||
font-size: 15px;
|
||
}
|
||
|
||
.k-main .details .article .content .card-body {
|
||
padding: 12px 15px;
|
||
}
|
||
|
||
.k-main .details .article .content .card-text {
|
||
font-size: 14px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
7. 内容工具区
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-main .details .toolbar {
|
||
margin-top: 16px;
|
||
padding: 20px;
|
||
background-color: #fff;
|
||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
}
|
||
|
||
.k-main .details .toolbar .meta {
|
||
width: 50%;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .details .toolbar img {
|
||
float: left !important;
|
||
margin-right: 8px !important;
|
||
width: 56px;
|
||
height: 56px;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.k-main .details .toolbar .name {
|
||
margin-bottom: -5px;
|
||
}
|
||
|
||
.k-main .details .toolbar .motto {
|
||
display: -webkit-box;
|
||
overflow: hidden;
|
||
margin-top: 10px;
|
||
color: #666;
|
||
text-overflow: ellipsis;
|
||
font-size: 14px;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 1;
|
||
}
|
||
|
||
.k-main .details .toolbar .meta .name a {
|
||
color: #4a4a4a;
|
||
}
|
||
|
||
.k-main .details .toolbar .share {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.k-main .details .toolbar .share .btn {
|
||
width: 90px;
|
||
height: 35px;
|
||
font-size: 15px;
|
||
line-height: 1.65;
|
||
}
|
||
|
||
.k-main .details .toolbar .share .btn-donate {
|
||
padding: 3px;
|
||
border: 1px solid #00a2ff;
|
||
border-radius: 0;
|
||
color: #00a2ff;
|
||
}
|
||
|
||
.k-main .details .toolbar .share .btn-donate:focus,
|
||
.k-main .details .toolbar .share .btn-donate:hover {
|
||
border-color: #00a2ff;
|
||
background-color: #00a2ff;
|
||
-webkit-box-shadow: none;
|
||
-moz-box-shadow: none;
|
||
box-shadow: none;
|
||
color: #fff;
|
||
}
|
||
|
||
.k-main .details .toolbar .share .btn-thumbs {
|
||
padding: 3px;
|
||
border: 1px solid #fb5235;
|
||
border-radius: 0;
|
||
color: #fb5235;
|
||
}
|
||
|
||
.k-main .details .toolbar .share .btn-thumbs:focus,
|
||
.k-main .details .toolbar .share .btn-thumbs:hover {
|
||
border-color: #fb5235;
|
||
background-color: #fb5235;
|
||
-webkit-box-shadow: none;
|
||
-moz-box-shadow: none;
|
||
box-shadow: none;
|
||
color: #fff;
|
||
}
|
||
|
||
.k-main .details .toolbar .share .btn-primary.focus,
|
||
.btn-primary:focus {
|
||
-webkit-box-shadow: none;
|
||
-moz-box-shadow: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.donate-box .meta-pay {
|
||
margin-top: 14px;
|
||
margin-bottom: 14px;
|
||
cursor: default;
|
||
}
|
||
|
||
.donate-box .qr-pay img {
|
||
width: 200px;
|
||
height: 200px;
|
||
}
|
||
|
||
.donate-box .choose-pay input {
|
||
display: none;
|
||
}
|
||
|
||
.donate-box .choose-pay input:checked + label {
|
||
border-color: #0092ee;
|
||
color: #0092ee;
|
||
}
|
||
|
||
.donate-box .pay-button {
|
||
margin: 10px 5px;
|
||
width: 132px;
|
||
height: 45px;
|
||
border: 1px solid #e6e6e6;
|
||
border-radius: 2px;
|
||
text-align: center;
|
||
line-height: 40px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.donate-box .pay-button img {
|
||
height: 26px;
|
||
}
|
||
|
||
.k-main .details .post-navigation {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.k-main .details .post-navigation .nav-previous a {
|
||
color: #5a5a5a;
|
||
}
|
||
|
||
.k-main .details .post-navigation .nav-next a {
|
||
color: #5a5a5a;
|
||
}
|
||
|
||
.k-main .details .post-navigation .nav-previous {
|
||
float: left;
|
||
padding: 7px 18px;
|
||
max-width: 40%;
|
||
background-color: #fff;
|
||
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
|
||
text-align: left;
|
||
}
|
||
|
||
.k-main .details .post-navigation .nav-next {
|
||
float: right;
|
||
padding: 7px 18px;
|
||
max-width: 40%;
|
||
background-color: #fff;
|
||
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
|
||
text-align: right;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-main .details .toolbar .meta {
|
||
margin: 14px 0;
|
||
padding-bottom: 16px;
|
||
width: 100%;
|
||
border-bottom: 1px solid #eee;
|
||
}
|
||
|
||
.k-main .details .toolbar .meta span {
|
||
font-size: 12px;
|
||
}
|
||
|
||
.k-main .details .toolbar .meta .love {
|
||
display: none !important;
|
||
}
|
||
|
||
.k-main .details .toolbar .share {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.k-main .details .toolbar .motto {
|
||
padding-bottom: 5px;
|
||
}
|
||
|
||
.k-main .details .toolbar .share .btn {
|
||
width: 88px;
|
||
height: 35px;
|
||
font-size: 14.5px;
|
||
line-height: 1.5;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
8. 文章评论
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-main .details .comments {
|
||
margin-top: 16px;
|
||
padding: 1.6px 16px 16px;
|
||
border-radius: 2px;
|
||
background-color: #fff;
|
||
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
}
|
||
|
||
.k-main .details .post-2 .comments {
|
||
-webkit-box-shadow: none;
|
||
-moz-box-shadow: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.k-main .details .comments .comment-form-author {
|
||
padding-right: 5px;
|
||
}
|
||
|
||
.k-main .details .comments .comment-form-email {
|
||
padding-left: 5px;
|
||
}
|
||
|
||
.k-main .details .comments .input-group-text {
|
||
border: 1px solid #eeeeee;
|
||
background-color: #f8f8f8;
|
||
}
|
||
|
||
.k-main .details .comments .form-control {
|
||
border: 1px solid #eeeeee;
|
||
}
|
||
|
||
.k-main .details .comments .title {
|
||
margin-bottom: 0;
|
||
padding: 16px 0;
|
||
border-bottom: 1px solid #f0f0f0;
|
||
font-size: 19px;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .details .comments .comment {
|
||
padding: 16px 0;
|
||
list-style: none;
|
||
}
|
||
|
||
.k-main .details .comments .list > li {
|
||
border-bottom: 1px solid #f0f0f0;
|
||
}
|
||
|
||
.k-main .details .comments .comment .avatar {
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.k-main .details .comments .comment .avatar img {
|
||
display: block;
|
||
width: 50px;
|
||
height: 50px;
|
||
border: 1px solid #eaeaea;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.k-main .details .comments .comment .info {
|
||
overflow: hidden;
|
||
}
|
||
|
||
.k-main .details .comments .comment .info .author_name {
|
||
display: inline-block;
|
||
margin-top: 3px;
|
||
color: #252525;
|
||
font-weight: 600;
|
||
font-style: normal;
|
||
font-size: 14px;
|
||
line-height: 1.375;
|
||
}
|
||
|
||
.k-main .details .comments .comment .info .author_name a {
|
||
color: #252525;
|
||
font-weight: 600;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .details .comments .comment .info .content {
|
||
margin-bottom: 0 !important;
|
||
}
|
||
|
||
.k-main .details .comments .comment .info .content p {
|
||
margin: 0;
|
||
color: #000000;
|
||
font-size: 13px;
|
||
}
|
||
|
||
.k-main .details .comments .comment .info .content p span {
|
||
color: #333;
|
||
}
|
||
|
||
.k-main .details .comments .comment .info .meta,
|
||
.k-main .details .comments .comment .info .meta a {
|
||
color: #9b9b9b;
|
||
font-size: 12.5px;
|
||
}
|
||
|
||
.k-main .details .comments .children {
|
||
margin-bottom: 0px;
|
||
padding-left: 0px;
|
||
}
|
||
|
||
.k-main .details .comments .children .comment {
|
||
margin-bottom: 0px;
|
||
padding-bottom: 0px;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea {
|
||
border: 1px solid #eee;
|
||
border-radius: 3px;
|
||
background-color: hsla(0, 0%, 71%, 0.1);
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea textarea {
|
||
height: 130px;
|
||
border: none;
|
||
border-radius: 0;
|
||
resize: none;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea .text-bar {
|
||
overflow: hidden;
|
||
padding: 6.4px 8px;
|
||
background-color: #f8f8f8;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea .text-bar .tool {
|
||
padding-top: 4.8px;
|
||
}
|
||
|
||
.k-main
|
||
.details
|
||
.comments
|
||
.comment-respond
|
||
.comment-textarea
|
||
.text-bar
|
||
.tool
|
||
a
|
||
img {
|
||
width: 100%;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea .btn-primary {
|
||
width: 100px;
|
||
border: none;
|
||
border-radius: 3px;
|
||
background-color: #00a2ff;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea .addbtn {
|
||
padding: 0 8px;
|
||
color: #333333;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea .addbtn:hover {
|
||
color: #333333;
|
||
}
|
||
|
||
.k-main
|
||
.details
|
||
.comments
|
||
.comment-respond
|
||
.comment-textarea
|
||
#cancel-comment-reply-link {
|
||
display: inline-block;
|
||
padding: 6px 12px;
|
||
border: none;
|
||
border-radius: 3px;
|
||
background-color: rgba(0, 0, 0, 0.3);
|
||
color: #fff;
|
||
vertical-align: middle;
|
||
text-align: center;
|
||
white-space: nowrap;
|
||
font-size: 14px;
|
||
line-height: 1.5;
|
||
user-select: none;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea .text-bar .smile {
|
||
position: absolute;
|
||
z-index: 9;
|
||
visibility: hidden;
|
||
padding: 2px;
|
||
width: 230px;
|
||
height: 102px;
|
||
background-color: #fff;
|
||
box-shadow: 0 2px 10px 2px rgba(0, 0, 0, 0.11);
|
||
transition: all 0.15s ease-out;
|
||
transform: perspective(500px) rotateX(-15deg);
|
||
transform-origin: 50% 0;
|
||
}
|
||
|
||
.k-main
|
||
.details
|
||
.comments
|
||
.comment-respond
|
||
.comment-textarea
|
||
.text-bar
|
||
.smile
|
||
a {
|
||
float: left;
|
||
display: block;
|
||
padding: 4px;
|
||
width: 32px;
|
||
height: 32px;
|
||
border: 2px solid #fff;
|
||
background-color: #f0f0f0;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .comment-textarea .text-bar .open {
|
||
visibility: visible;
|
||
transform: none;
|
||
}
|
||
|
||
.k-main .details .comments .comment-respond .error {
|
||
padding: 20px;
|
||
border: 1px solid #e5e5e5;
|
||
border-radius: 4px;
|
||
background-color: hsla(0, 0%, 71%, 0.1);
|
||
}
|
||
|
||
.k-main .details .comments .i-reply {
|
||
font-size: 12px;
|
||
}
|
||
|
||
#commentpage {
|
||
display: block;
|
||
}
|
||
|
||
#commentpage a {
|
||
display: inline-block;
|
||
width: 144px;
|
||
height: 37px;
|
||
border: none;
|
||
border-radius: 2px;
|
||
background-color: #00a2ff;
|
||
color: #fff;
|
||
font-size: 15px;
|
||
line-height: 2.4;
|
||
transition: all 0.15s ease-in-out;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
-ms-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-main .details .comments .comment-form-author {
|
||
padding-right: 15px;
|
||
}
|
||
|
||
.k-main .details .comments .comment-form-email {
|
||
padding-left: 15px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
9. 小工具
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-main .sidebar img {
|
||
width: 100%;
|
||
height: auto;
|
||
}
|
||
|
||
.k-main .sidebar .widget {
|
||
margin: 0 0 23px;
|
||
padding: 15px 30px;
|
||
border-radius: 0;
|
||
background-color: #fff;
|
||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||
}
|
||
|
||
.k-main .sidebar > div:last-child {
|
||
margin: 0;
|
||
}
|
||
|
||
/* ══════════════════════════════════════════════════════════════════════
|
||
* 「个人简介」挂件(.w-about):尺寸自持(3.2.51)
|
||
*
|
||
* ── 原来为什么会被大图撑爆 ──────────────────────────────────────────
|
||
* 这一组规则原来全部写成三段祖先选择器:
|
||
*
|
||
* .k-main .sidebar .w-about .wrapper img { width:100px; height:100px }
|
||
* .k-main .sidebar .w-about .background { height:120px }
|
||
*
|
||
* `.k-main` → `.sidebar` → `.w-about` 这三段是**前台文章页/首页的布局**。
|
||
* 挂件一旦出现在没有这层祖先的地方:
|
||
*
|
||
* · WordPress 后台「外观 → 小工具」的挂件预览
|
||
* · 区块小工具(Widgets Block Editor)的预览面板
|
||
* · 侧栏被别的主题/插件改写结构时
|
||
*
|
||
* 这些规则**一条都不生效**,头像 <img> 没有任何宽高约束,直接按原图
|
||
* 尺寸铺开;`.background` 也会塌成 0 高。
|
||
*
|
||
* 线上实测(avatar.jpg 原图 2136×2136):
|
||
* 有祖先 → 挂件 397×285, 头像 100×100 ✅
|
||
* 无祖先 → 挂件 1400×2217,头像 2136×2136 ❌ 撑爆,横向滚动 2156px
|
||
*
|
||
* ── 现在的做法 ──────────────────────────────────────────────────────
|
||
* 只依赖**挂件自己的类名** `.w-about`,不再依赖外层布局。这样无论挂件
|
||
* 被丢进什么容器,头像都是固定小圆、背景都是固定高。
|
||
*
|
||
* 🔴 必须把老的三段选择器**删掉**,不是"再补一条新的"。
|
||
* 实测过:`.k-main .sidebar .w-about .wrapper img` 优先级 (0,3,1),
|
||
* 而 `.w-about .wrapper img` 只有 (0,2,1)。两条并存时**老规则在前台永远赢**,
|
||
* 于是新规则只在后台生效 —— 前台改新规则等于白改,而且会让人误以为
|
||
* "改了没反应"。我把头像故意改成 200px 反证过:像素完全不变,
|
||
* 因为前台根本用的是老规则。单一真相来源才不会有这个坑。
|
||
*
|
||
* 🔴 为什么不用 !important:那会让用户/子主题以后想改头像尺寸时
|
||
* 完全改不动。
|
||
* ══════════════════════════════════════════════════════════════════════ */
|
||
|
||
/* 背景条:高度不依赖祖先 */
|
||
.w-about .background {
|
||
height: 120px;
|
||
background-position: center center;
|
||
background-repeat: no-repeat;
|
||
background-size: cover;
|
||
}
|
||
|
||
/* 挂件自身去掉内边距。
|
||
*
|
||
* 原来写的是 `.k-main .sidebar .w-about, .k-main .sidebar .w-ad { padding:0 }`
|
||
* —— 依赖祖先,所以后台预览里会吃 `.widget` 的 15px 内边距,跟前台不一致。
|
||
* 下面这组把它拆成两条:
|
||
* ① `.w-about` / `.w-ad`(无祖先)—— 覆盖后台/其它容器里的 `.widget` 内边距;
|
||
* ② `.k-main .sidebar .w-about` / `.w-ad`(前台)—— 覆盖主题自己的
|
||
* `.k-main .sidebar .widget { padding: 15px 30px }`。
|
||
*
|
||
* 🔴 ② 这条**不能省**:它的对手 `.k-main .sidebar .widget` 优先级 (0,3,0),
|
||
* 而 ① 只有 (0,1,0),光靠 ① 在前台会被压回去 —— 实测挂件会多出
|
||
* 15px/30px 内边距、整体高 57px(284→341),头像和文字全部错位。
|
||
* 两处的**值必须一致**(都是 0),前后台才不会出现分歧。 */
|
||
.w-about,
|
||
.w-ad {
|
||
padding: 0;
|
||
}
|
||
|
||
.k-main .sidebar .w-about,
|
||
.k-main .sidebar .w-ad {
|
||
padding: 0;
|
||
}
|
||
|
||
/* 头像:固定尺寸 + 裁切,永远不可能超出自己的盒子。
|
||
*
|
||
* object-fit:cover 是关键 —— 原图 2136×2136、1×1、4000×100、100×4000
|
||
* 都能被忠实裁进 100×100 的圆里,不会变形,也不会把盒子撑开。
|
||
* 在没有祖先约束的环境里尤其重要:那里没有别的规则兜底。
|
||
* (原来是 fill,非正方形头像会被拉伸变形,这次一并修掉。)
|
||
*
|
||
* 🔴 不要写 display:block —— 实测会带来两处前台外观变化:
|
||
* ① 头像从「行内被 text-align:center 居中」变成「块级独占一行」,
|
||
* 父级 .wrapper 高度从 50px 变 100px;
|
||
* ② x 坐标从 1096.66(居中)变成 948.33(左对齐)。
|
||
* 两处都是肉眼可见的位移。保持 inline(默认)才能原样继承 text-center。
|
||
*
|
||
* 🔴 margin 保持 `-50px 0 0`(水平 0)而不是 `auto`:水平居中本来就由
|
||
* 父级 text-align:center 完成,写 auto 在 inline 元素上也不生效。 */
|
||
.w-about .wrapper img {
|
||
margin: -50px 0 0;
|
||
width: 100px;
|
||
height: 100px;
|
||
max-width: 100px;
|
||
max-height: 100px;
|
||
object-fit: cover;
|
||
border: rgba(255, 255, 255, 0.4) 4px solid;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
/* 文字区:同样不依赖祖先 */
|
||
.w-about .textwidget {
|
||
padding: 5px 20px 20px;
|
||
}
|
||
|
||
.w-about .textwidget p {
|
||
margin-bottom: 0;
|
||
cursor: default;
|
||
}
|
||
|
||
.w-about .textwidget .username {
|
||
font-size: 17px;
|
||
font-weight: 500;
|
||
margin-bottom: 5px;
|
||
}
|
||
|
||
.w-about .textwidget .about {
|
||
font-size: 15px;
|
||
}
|
||
|
||
.k-main .sidebar .w-ad {
|
||
position: relative;
|
||
}
|
||
|
||
.k-main .sidebar .w-ad .prompt {
|
||
position: absolute;
|
||
top: 10px;
|
||
right: 10px;
|
||
width: 39px;
|
||
height: 19px;
|
||
background-color: rgba(0, 0, 0, 0.33);
|
||
color: #dedede;
|
||
text-align: center;
|
||
font-size: 12px;
|
||
line-height: 19px;
|
||
}
|
||
|
||
/* ══════════════════════════════════════════════════════════════════════
|
||
* 「最近评论」挂件(.w-comments)(3.2.52)
|
||
*
|
||
* ── 为什么自己做,不用插件 ────────────────────────────────────────────
|
||
* 原来装的是 Comments Widget Plus。它的三个问题都是实测出来的:
|
||
*
|
||
* ① 用 `_x('%1$s %2$son%3$s %4$s')` 拼句子,中文渲染成
|
||
* 「标题**上的**作者」(zh_CN.po 里 "on" 被译成"上的"),
|
||
* 而插件根本没带 zh_CN 语言包(languages/ 只有一个 .pot),
|
||
* 所以这句永远是英文语序套中文词。
|
||
* ② 文章标题 / 作者 / 摘要**三层同为 16px**,只能靠颜色区分;
|
||
* 而标题最长,首条实测 337×96(标题链接 332×50,折 2 行)。
|
||
* ③ 实例里 `avatar: false`,纯文字流没有任何视觉抓手。
|
||
*
|
||
* ── 这组规则的一条硬约束(3.2.51 的教训)────────────────────────────
|
||
* 🔴 选择器**只依赖 `.w-comments` 自身**,不写 `.k-main .sidebar .w-comments`。
|
||
* 3.2.51 的「个人简介撑爆」就是三段祖先选择器造成的:挂件在
|
||
* 后台「外观→小工具」预览里没有 `.k-main .sidebar` 那层祖先,
|
||
* 一组规则全部失效,头像按原图 2136px 铺开。
|
||
* **前台看起来正常,恰恰是把问题藏死的原因。**
|
||
* 🔴 所以这里**故意不写任何内边距规则**:白底与 15px/30px 内边距由
|
||
* 外层 `.widget` 提供(前台 `.k-main .sidebar .widget`,
|
||
* 后台由 WP 自己的挂件容器提供)。挂件本身不该管这些 ——
|
||
* 像 `.w-about` 那样去「对齐」内边距,就又把规则绑回祖先了。
|
||
*
|
||
* ── 信息层级(这是"漂亮"的全部含义)────────────────────────────────
|
||
* 摘要 15px #5a5a5a ← 主体,可点,整段链接到评论锚点
|
||
* 作者 14px #00a2ff ← 元信息,主色
|
||
* 文章 13px #999 ← 元信息,单行省略
|
||
* 时间 13px #999 ← 元信息
|
||
* 三层字号**必须不同**,插件"三层同为 16px"是它读起来像一坨的根本原因。
|
||
* ══════════════════════════════════════════════════════════════════════ */
|
||
|
||
/* 挂件内边距:不写。白底 + 15px/30px 由外层 `.widget` 提供,
|
||
* 与其它挂件(categories / archive 等)完全一致。理由见上面的 🔴。 */
|
||
|
||
.w-comments .yang-comment-list {
|
||
margin: 0;
|
||
padding: 0;
|
||
list-style: none;
|
||
}
|
||
|
||
/* 单条:flex 布局。
|
||
*
|
||
* 🔴 不用 float —— 插件用的是 `float:left` 的头像,长摘要下会出现
|
||
* "文字环绕到头像右侧再往下淌",元信息行钻进头像下方,整条错位。
|
||
* flex 的每一行都是独立盒子,不会出现环绕。 */
|
||
.w-comments .yang-comment-item {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
padding: 12px 0;
|
||
border-bottom: 1px dashed #b4afaf;
|
||
}
|
||
|
||
/* 最后一条去掉分隔线 —— 跟 `.w-recommended .bookmark-item:last-child` 一致 */
|
||
.w-comments .yang-comment-item:last-child {
|
||
padding-bottom: 0;
|
||
border-bottom: none;
|
||
}
|
||
|
||
/* 头像:固定圆 + 裁切。
|
||
*
|
||
* 🔴 object-fit:cover 必须有:评论头像来自 Gravatar,可能是任意宽高比。
|
||
* fill(默认)会把人脸拉扁,none 会溢出。
|
||
* 🔴 flex-shrink:0 必须有:否则摘要很长时 flex 会把头像压扁(实测
|
||
* 40px 会被压到 8px 宽)。 */
|
||
.w-comments .yang-comment-avatar {
|
||
flex: 0 0 auto;
|
||
margin-right: 10px;
|
||
}
|
||
|
||
.w-comments .yang-comment-avatar img {
|
||
display: block;
|
||
width: 40px;
|
||
height: 40px;
|
||
max-width: 40px;
|
||
max-height: 40px;
|
||
object-fit: cover;
|
||
border-radius: 50%;
|
||
background-color: #f2f2f2;
|
||
}
|
||
|
||
/* 文字区:必须 min-width:0,否则长英文/长 URL 会撑破 flex 容器
|
||
* (flex 子项的默认 min-width 是 auto,等于"内容多宽就多宽")。 */
|
||
.w-comments .yang-comment-body {
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
}
|
||
|
||
/* 摘要:主体 */
|
||
.w-comments .yang-comment-text {
|
||
display: block;
|
||
color: #5a5a5a;
|
||
font-size: 15px;
|
||
line-height: 1.6;
|
||
text-decoration: none;
|
||
/* 中文长句无空格,必须 break-word,否则一个字都不换行直接溢出 */
|
||
overflow-wrap: break-word;
|
||
word-wrap: break-word;
|
||
}
|
||
|
||
.w-comments .yang-comment-text:hover {
|
||
color: #00a2ff;
|
||
}
|
||
|
||
/* 元信息行:作者 · 时间 · 文章标题 */
|
||
.w-comments .yang-comment-meta {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
margin-top: 4px;
|
||
color: #999;
|
||
font-size: 13px;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
.w-comments .yang-comment-author {
|
||
color: #00a2ff;
|
||
font-size: 14px;
|
||
text-decoration: none;
|
||
}
|
||
|
||
.w-comments .yang-comment-sep {
|
||
margin: 0 5px;
|
||
color: #ccc;
|
||
}
|
||
|
||
.w-comments .yang-comment-time {
|
||
flex: 0 0 auto;
|
||
color: #999;
|
||
}
|
||
|
||
/* 文章标题:单行省略。
|
||
* min-width:0 同样是为了让 flex 允许它比内容窄。 */
|
||
.w-comments .yang-comment-post {
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
color: #999;
|
||
text-decoration: none;
|
||
white-space: nowrap;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.w-comments .yang-comment-post:hover {
|
||
color: #00a2ff;
|
||
}
|
||
|
||
/* 窄屏(侧栏整行显示,宽度充裕):让文章标题不必挤在一行里 */
|
||
@media (max-width: 991.98px) {
|
||
.w-comments .yang-comment-post {
|
||
flex: 1 1 100%;
|
||
white-space: normal;
|
||
overflow: visible;
|
||
text-overflow: clip;
|
||
}
|
||
}
|
||
|
||
.k-main .sidebar .w-recommended .bookmark-item {
|
||
display: block;
|
||
overflow: hidden;
|
||
padding: 8px 0;
|
||
border-bottom: 1px dashed #b4afaf;
|
||
color: #333;
|
||
text-decoration: none;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.k-main .sidebar .w-recommended .bookmark-item:last-child {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.k-main .sidebar .w-recommended .bookmark-item .i-book {
|
||
margin-right: 7px;
|
||
}
|
||
|
||
.k-main .sidebar .w-recommended .nav-link .kicon {
|
||
margin-right: 8px;
|
||
}
|
||
|
||
/* 标签页图标:xl(≥1200px)显示,更窄时隐藏。
|
||
*
|
||
* 🔴 3.2.50 之前这件事是靠**渲染两份 DOM** 做的:PHP 里输出
|
||
* 一个 `d-none d-xl-flex` 的带图标版本和一个 `d-xl-none` 的无图标版本,
|
||
* 于是 nav-tab / nav-new-tab / nav-hot-tab / nav-random-tab
|
||
* 四个 id 在同一个页面里各出现两次(HTML 非法,aria-labelledby 失效)。
|
||
* 现在 DOM 只有一份,显隐交给下面的媒体查询。 */
|
||
.k-main .sidebar .w-recommended .nav-link .tab-icon {
|
||
display: none;
|
||
}
|
||
|
||
@media (min-width: 1200px) {
|
||
.k-main .sidebar .w-recommended .nav-link .tab-icon {
|
||
display: inline-block;
|
||
}
|
||
}
|
||
|
||
/* 无图标时补一点内边距,避免三个标签挤在一起 */
|
||
@media (max-width: 1199.98px) {
|
||
.k-main .sidebar .w-recommended .nav-tabs .nav-link {
|
||
padding-left: 18px;
|
||
padding-right: 18px;
|
||
}
|
||
}
|
||
|
||
.k-main .sidebar .title {
|
||
position: relative;
|
||
margin: 0 0 15px;
|
||
padding-bottom: 7px;
|
||
border-bottom: 1px solid #e7e7e7;
|
||
font-size: 17px;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .sidebar .title::after {
|
||
position: absolute;
|
||
bottom: 0;
|
||
left: 0;
|
||
width: 72px;
|
||
height: 2px;
|
||
background-color: #00a2ff;
|
||
content: "";
|
||
}
|
||
|
||
/* ── 标签聚合 / 友情链接:宽度改为「按容器自适应」
|
||
*
|
||
* 🔴 3.2.50 之前的写法是两段魔法数字:
|
||
*
|
||
* .w-tags .item a { width: 164px } ← 默认
|
||
* @media (max-width:1310px) { ... { width: 110px } } ← 窄屏
|
||
*
|
||
* 侧栏宽度由 Bootstrap 的 col-lg-4 决定,在 992px 以下是「整行」,
|
||
* 在 992px 以上是容器的 1/3。而 1310px 这个断点**只改标签宽度、
|
||
* 不改侧栏宽度**,于是在 1311→1310px 处出现:
|
||
*
|
||
* 1311px:侧栏内容区 336.7px,标签 164px → 一行 2 个
|
||
* 1310px:侧栏内容区 336.7px,标签 110px → 一行 3 个
|
||
*
|
||
* **窗口变窄,列数反而多了一个**。这是典型的"两次魔法数字叠加":
|
||
* 第二段是为了修第一段在某个视口下的溢出,修的时候没管单调性。
|
||
*
|
||
* 现在不再写死像素,改为按容器百分比:
|
||
*
|
||
* width: calc(50% - 2px) 默认每行 2 个
|
||
* margin: 0 1px 10px 0 左右各 1px,共 2px 被 50%-2px 抵掉
|
||
*
|
||
* 50%-2px 这个写法保证「一行恰好放 2 个且不多不少」:
|
||
* 两个 50%-2px 加两个 1px 右边距 = 100%,再算上 inline-block 之间的
|
||
* 空白字符会被 font-size:0 吃掉(见 .item 的声明),所以不会意外换行。
|
||
*
|
||
* 要改列数只需改这一个百分比,窄屏不会再"越窄越多列"。
|
||
*/
|
||
.k-main .sidebar .w-tags .item,
|
||
.k-main .sidebar .widget_links ul {
|
||
/* 🔴 inline-block 元素之间的换行/空格会渲染成一个空格宽度,
|
||
两个 50% 就永远放不进一行。font-size:0 让空白字符零宽,
|
||
子元素再把字号设回来。这是 inline-block 网格的标准做法。 */
|
||
font-size: 0;
|
||
}
|
||
|
||
.k-main .sidebar .w-tags .item a,
|
||
.k-main .sidebar .widget_links ul li {
|
||
display: inline-block;
|
||
margin: 0 1px 10px 0;
|
||
padding: 2px 0;
|
||
/* 每行 2 个:两个 (50% - 2px) + 两个 1px 右边距 = 100% */
|
||
width: calc(50% - 2px);
|
||
border: 1px solid #eeeeee;
|
||
color: #333;
|
||
list-style: none;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
/* 长标签名(如 HarmonyOS)不能撑破格子 */
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
vertical-align: top;
|
||
}
|
||
|
||
.k-main .sidebar .widget_links ul li {
|
||
border: none;
|
||
font-size: 15px;
|
||
line-height: inherit;
|
||
}
|
||
|
||
.k-main .sidebar .widget_links ul li img {
|
||
margin-top: -3px;
|
||
width: 25px;
|
||
height: 25px;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.k-main .sidebar .w-tags .item a:hover,
|
||
.k-main .sidebar .widget_links ul li:hover,
|
||
.k-main .sidebar .widget_categories ul li:hover,
|
||
.k-main .sidebar .widget_archive ul li:hover {
|
||
background-color: #eeeeee;
|
||
}
|
||
|
||
.nav-tabs .nav-item.show .nav-link,
|
||
.nav-tabs .nav-link.active {
|
||
border-bottom: 2px solid #00a2ff;
|
||
background-color: #fff;
|
||
color: #333;
|
||
}
|
||
|
||
.nav-tabs .nav-item {
|
||
color: #333;
|
||
}
|
||
|
||
.nav-tabs .nav-link {
|
||
padding: 8px 28px;
|
||
border: 0;
|
||
border-bottom: 2px solid #f2f2f2;
|
||
}
|
||
|
||
.nav-tabs {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.k-main .sidebar .widget_links ul {
|
||
margin-bottom: 0;
|
||
padding-left: 0;
|
||
}
|
||
|
||
.k-main .sidebar .widget_links ul li a {
|
||
color: #333;
|
||
}
|
||
|
||
.k-main .sidebar #wp-calendar {
|
||
width: 100%;
|
||
}
|
||
|
||
.k-main .sidebar caption,
|
||
.k-main .sidebar tfoot {
|
||
display: none;
|
||
}
|
||
|
||
.k-main .sidebar tbody tr {
|
||
font-weight: 400;
|
||
font-size: 14px;
|
||
font-family: arial;
|
||
}
|
||
|
||
.k-main .sidebar tbody a {
|
||
display: block;
|
||
border: 1px solid #00a2ff;
|
||
background: #edf8ff;
|
||
}
|
||
|
||
.k-main .sidebar tbody tr td,
|
||
.k-main .sidebar thead tr th {
|
||
text-align: center;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-main .sidebar .widget_search .screen-reader-text {
|
||
display: none;
|
||
}
|
||
|
||
.btn-search {
|
||
background-color: #00a2ff;
|
||
border-color: #00a2ff;
|
||
}
|
||
|
||
.btn-search:not(:disabled):not(.disabled):active,
|
||
.btn-search:hover,
|
||
.btn-search:focus {
|
||
background-color: #0095ff;
|
||
border-color: #0095ff;
|
||
}
|
||
|
||
.btn-search:not(:disabled):not(.disabled):active:focus {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.k-main .sidebar .widget_categories ul,
|
||
.k-main .sidebar .widget_archive ul {
|
||
margin: 0;
|
||
padding-left: 0;
|
||
}
|
||
|
||
.k-main .sidebar .widget_categories ul li,
|
||
.k-main .sidebar .widget_archive ul li {
|
||
display: inline-block;
|
||
overflow: hidden;
|
||
margin: 0 1px 4px 0;
|
||
padding: 4px 0;
|
||
width: 164px;
|
||
border: 1px solid #eeeeee;
|
||
list-style: none;
|
||
text-align: center;
|
||
text-overflow: ellipsis;
|
||
font-size: 14px;
|
||
-webkit-transition: 0.3s;
|
||
-o-transition: 0.3s;
|
||
transition: 0.3s;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 1;
|
||
}
|
||
|
||
.k-main .sidebar .widget_categories ul li a,
|
||
.k-main .sidebar .widget_archive ul li a {
|
||
color: #333;
|
||
}
|
||
|
||
.k-main .sidebar .w-search .form-control,
|
||
.k-main .sidebar .w-search .btn {
|
||
font-size: 15px;
|
||
border-radius: 0;
|
||
}
|
||
|
||
.k-main .sidebar .w-search .btn {
|
||
padding-left: 25px;
|
||
padding-right: 25px;
|
||
}
|
||
|
||
@media screen and (max-width: 1310px) {
|
||
.nav-tabs .nav-link {
|
||
padding: 8px 22px;
|
||
}
|
||
|
||
/* 🔴 这里本来还有两条把宽定死的规则:
|
||
*
|
||
* .k-main .sidebar .w-tags .item a,
|
||
* .k-main .sidebar .widget_links ul li,
|
||
* .k-main .sidebar .widget_categories ul li,
|
||
* .k-main .sidebar .widget_archive ul li { width: 110px }
|
||
*
|
||
* 1310px 这个断点**不改变侧栏宽度**(992px 以上一直是容器 1/3),
|
||
* 所以它只做了一件事:把格子压窄 ⇒ 同样宽度下一行多塞一个 ⇒
|
||
* 窗口越窄列数越多。3.2.50 起标签与友情链接改成 `calc(50% - 2px)`,
|
||
* 由容器宽度自己决定列数;这里只剩 tab 的内边距需要收一收。
|
||
*
|
||
* 分类/归档那两条宽度**保留** —— 它们的父元素是 li 列表,
|
||
* 不是按行排的网格,压窄只影响观感不影响列数,且原有排版依赖它。
|
||
* 见下方规则。 */
|
||
.k-main .sidebar .widget_categories ul li,
|
||
.k-main .sidebar .widget_archive ul li {
|
||
width: 110px;
|
||
}
|
||
}
|
||
|
||
@media (min-width: 992px) {
|
||
.navbar-expand-lg .navbar-nav .nav-link {
|
||
padding-right: 0;
|
||
padding-left: 32px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
10. 404
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-main .page404 {
|
||
padding: 40px;
|
||
text-align: center;
|
||
}
|
||
|
||
.k-main .page404 .overlay {
|
||
position: absolute;
|
||
top: -1px;
|
||
right: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
z-index: 2;
|
||
width: 100%;
|
||
height: 101%;
|
||
background: url(../img/404.svg) no-repeat center center;
|
||
background-size: cover;
|
||
}
|
||
|
||
.k-main .page404 .overlay:after,
|
||
.k-main .page404 .overlay:before {
|
||
position: absolute;
|
||
top: 0;
|
||
z-index: 10;
|
||
width: 20px;
|
||
height: 100%;
|
||
background: #ffffff;
|
||
content: "";
|
||
}
|
||
|
||
.k-main .page404 .overlay:before {
|
||
left: 0;
|
||
}
|
||
|
||
.k-main .page404 .overlay:after {
|
||
right: 0;
|
||
}
|
||
|
||
.k-main .page404 .thumbnail {
|
||
position: relative;
|
||
width: 100%;
|
||
height: 500px;
|
||
background-position: center center;
|
||
background-size: cover;
|
||
background-repeat: no-repeat;
|
||
}
|
||
|
||
.k-main .page404 .content {
|
||
font-weight: 500;
|
||
}
|
||
|
||
.k-main .page404 .content .title {
|
||
font-size: 30px;
|
||
}
|
||
|
||
.k-main .page404 .content .subtitle {
|
||
font-size: 16px;
|
||
}
|
||
|
||
.k-main .page404 .content .action {
|
||
font-size: 16px;
|
||
}
|
||
|
||
.k-main .page404 .content .action .btn-outline-primary {
|
||
width: 110px;
|
||
border-radius: 2px;
|
||
letter-spacing: 2.4px;
|
||
}
|
||
|
||
.k-main .page404 .content .action .back-prevpage {
|
||
border-color: #00a2ff;
|
||
background-color: #00a2ff;
|
||
color: #fff;
|
||
}
|
||
|
||
.k-main .page404 .content .action .back-prevpage:hover {
|
||
border-color: #009ef9;
|
||
background-color: #009ef9;
|
||
}
|
||
|
||
.k-main .page404 .content .action .back-index {
|
||
border-color: #d8dcdf;
|
||
background-color: transparent;
|
||
background-image: none;
|
||
color: #666;
|
||
}
|
||
|
||
.k-main .page404 .content .action .back-index:hover,
|
||
.k-main
|
||
.page404
|
||
.content
|
||
.action
|
||
.back-index:not(:disabled):not(.disabled):active {
|
||
border-color: #d8dcdf;
|
||
background-color: #f6f4f4;
|
||
color: #666;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-main .page404 .thumbnail {
|
||
height: 315px;
|
||
}
|
||
|
||
.k-main .page404 .content .title {
|
||
font-size: 21px;
|
||
}
|
||
|
||
.k-main .page404 .content .subtitle {
|
||
font-size: 14px;
|
||
}
|
||
}
|
||
|
||
@media screen and (max-width: 480px) {
|
||
.k-main .page404 .thumbnail {
|
||
height: 200px;
|
||
}
|
||
}
|
||
|
||
/*--------------------------------------------------------------
|
||
11. 页脚
|
||
--------------------------------------------------------------*/
|
||
|
||
.k-footer {
|
||
padding: 40px 0;
|
||
background: #23282d;
|
||
}
|
||
|
||
.k-footer p {
|
||
margin-bottom: 0;
|
||
color: #8e8e8e;
|
||
text-transform: uppercase;
|
||
letter-spacing: 1px;
|
||
font-size: 14px;
|
||
cursor: default;
|
||
}
|
||
|
||
.k-footer p a {
|
||
color: #8e8e8e;
|
||
}
|
||
|
||
.k-footer p a:hover {
|
||
color: #0097ee;
|
||
}
|
||
|
||
.k-footer p .police-ico {
|
||
display: inline-block;
|
||
margin-top: -4px;
|
||
margin-right: 6px;
|
||
width: 14px;
|
||
height: 1pc;
|
||
background: url(../img/police-ico.png) 0 0 no-repeat;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.k-footer .f-toolbox > div {
|
||
position: fixed;
|
||
right: 20px;
|
||
z-index: 999;
|
||
text-align: center;
|
||
}
|
||
|
||
.k-footer .f-toolbox .gotop .gotop-btn span,
|
||
.k-footer .f-toolbox .search span {
|
||
display: table-cell;
|
||
width: 40px;
|
||
height: 40px;
|
||
color: #fff;
|
||
vertical-align: middle;
|
||
font-size: 18px;
|
||
}
|
||
|
||
.k-footer .f-toolbox .gotop {
|
||
bottom: 80px;
|
||
visibility: hidden;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.k-footer .f-toolbox .gotop .gotop-btn {
|
||
display: table;
|
||
width: 40px;
|
||
height: 40px;
|
||
color: #fff;
|
||
text-align: center;
|
||
}
|
||
|
||
.k-footer .f-toolbox .gotop.active {
|
||
visibility: visible;
|
||
background: rgba(132, 132, 132, 0.7);
|
||
}
|
||
|
||
.k-footer .f-toolbox .search {
|
||
bottom: 30px;
|
||
display: table;
|
||
background: rgba(132, 132, 132, 0.7);
|
||
cursor: pointer;
|
||
}
|
||
|
||
.k-footer .f-toolbox .search input {
|
||
width: 100%;
|
||
height: 40px;
|
||
border: 0;
|
||
background: 0 0;
|
||
color: #fff;
|
||
font-size: 17px;
|
||
}
|
||
|
||
.k-footer .social {
|
||
line-height: 45px;
|
||
}
|
||
|
||
.k-footer .social a {
|
||
display: inline-block;
|
||
padding: 0 7px;
|
||
}
|
||
|
||
.k-footer .social a .kicon {
|
||
font-size: 40px;
|
||
}
|
||
|
||
@media screen and (max-width: 768px) {
|
||
.k-footer {
|
||
padding: 30px 0;
|
||
}
|
||
|
||
.k-footer p {
|
||
font-size: 10px;
|
||
}
|
||
|
||
.k-footer .social a .kicon {
|
||
font-size: 38px;
|
||
}
|
||
}
|