Files
dekun bb4f0c265d Add tablet landscape layout and allow PWA horizontal orientation.
Split mobile and tablet breakpoints, restore desktop-style reading on landscape tablets, and lock Android tablet apps to landscape.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 14:47:50 +08:00

247 lines
4.2 KiB
CSS

:root {
--vp-font-family-base: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei',
'Noto Sans SC', 'Source Han Sans SC', sans-serif;
}
.VPNavBarTitle {
display: none;
}
html {
overflow-x: clip;
}
/* 旧版 markdown 里的 <font size="4"> 在手机上过大 */
.vp-doc font,
.vp-md-font {
display: block;
max-width: 100%;
font-size: inherit !important;
overflow-wrap: anywhere;
}
.vp-doc {
line-height: 1.85;
letter-spacing: 0.02em;
word-break: break-word;
overflow-wrap: anywhere;
max-width: 100%;
}
.vp-doc h1 {
font-size: clamp(1.45rem, 5vw, 2rem);
line-height: 1.35;
}
.vp-doc h2 {
font-size: clamp(1.2rem, 4.2vw, 1.55rem);
margin-top: 1.6em;
padding-bottom: 0.35em;
border-bottom: 1px solid var(--vp-c-divider);
}
.vp-doc h3 {
font-size: clamp(1.05rem, 3.6vw, 1.25rem);
}
.vp-doc p {
margin: 1em 0;
overflow-wrap: anywhere;
}
/* 道德经等用缩进写的“伪代码块”,改成正文排版 */
.vp-doc pre,
.vp-doc pre code {
white-space: pre-wrap !important;
word-break: break-word;
overflow-wrap: anywhere;
}
.vp-doc pre {
overflow-x: auto;
max-width: 100%;
font-family: var(--vp-font-family-base);
font-size: 1rem;
line-height: 1.9;
padding: 14px 16px;
border-radius: 10px;
border: 1px solid var(--vp-c-divider);
background: var(--vp-c-bg-soft);
}
.vp-doc :not(pre) > code {
font-size: 0.92em;
word-break: break-word;
overflow-wrap: anywhere;
}
.vp-doc img {
display: block;
max-width: 100% !important;
width: auto !important;
height: auto !important;
margin: 1em auto;
border-radius: 8px;
}
.vp-doc table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
font-size: 0.92rem;
max-width: 100%;
}
.vp-doc blockquote {
margin: 1.2em 0;
padding: 0.8em 1em;
border-radius: 8px;
}
/* 底部上一篇 / 下一篇:加大触控区域 */
.VPDocFooter .pager-link {
min-height: 48px;
padding: 12px 14px;
border-radius: 10px;
}
.VPDocFooter .pager-link .title {
font-size: 0.95rem;
line-height: 1.45;
}
@media (max-width: 767px) {
.VPContent {
padding-top: 0;
}
.VPDoc .container,
.VPDoc .content,
.VPDoc .content-container,
.vp-doc,
.vp-md-font {
min-width: 0;
max-width: 100%;
box-sizing: border-box;
}
.VPDoc .container {
padding: 0 14px;
}
.VPDoc .content {
max-width: 100%;
}
.vp-doc {
padding: 8px 0 88px;
font-size: 17px;
}
.vp-doc h1 {
margin-bottom: 0.6em;
}
/* 手机隐藏右侧大纲,避免挤压正文 */
.VPDoc .aside,
.VPDoc .aside-container {
display: none !important;
}
.VPDoc.has-aside .content-container {
max-width: 100%;
}
/* 侧边栏目录项加大点击区域 */
.VPSidebarItem .text {
line-height: 1.5;
padding-top: 4px;
padding-bottom: 4px;
}
.VPSidebarItem.level-0 > .item > .text {
font-size: 15px;
}
/* 顶栏留白,适配刘海屏 */
.VPNavBar {
padding-top: env(safe-area-inset-top, 0);
}
/* 搜索框不占太多宽度 */
.VPNavBarSearch {
flex-shrink: 1;
}
}
/* 平板竖屏:介于手机与桌面之间 */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
.VPDoc .container {
padding: 0 24px;
}
.vp-doc {
font-size: 17px;
padding: 12px 0 64px;
}
.VPDocFooter .pager-link {
min-height: 44px;
}
}
/* 平板横屏:恢复桌面式双栏阅读 */
@media (min-width: 768px) and (orientation: landscape) {
.VPDoc .aside,
.VPDoc .aside-container {
display: block !important;
}
.VPDoc.has-aside .content-container {
max-width: 688px;
}
.VPDoc .container {
padding: 0 24px;
}
.vp-doc {
font-size: 16px;
line-height: 1.85;
padding: 16px 0 48px;
}
.VPDocFooter .pager-link {
min-height: 44px;
}
.VPDocFooter .prev-next {
display: flex;
gap: 16px;
}
.VPDocFooter .pager-link {
flex: 1;
}
}
@media (max-width: 640px) {
.VPNavBarTitle .title {
font-size: 15px;
}
.vp-doc {
font-size: 18px;
line-height: 1.9;
}
.vp-doc pre {
font-size: 17px;
padding: 12px 14px;
}
.VPDocFooter {
padding-bottom: calc(12px + env(safe-area-inset-bottom, 0));
}
}