yohaku 手机端打磨:dock 去圆标只留站名,压掉 iOS 顶部弹性露底(100dvh)
This commit is contained in:
1 parent
1b3eb870da
commit
942bad6158
3 files changed
+18
-8
No files matched your search
@@ -111,11 +111,11 @@ function toggleTheme() {
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- 窄屏:底部悬浮 dock(品牌 + 汉堡),常驻拇指区。桌面 display:none。
|
||||
必须待在 .top 外面:.top 有 backdrop-filter,会给 fixed 后代当包含块。 -->
|
||||
<!-- 窄屏:底部悬浮 dock(站名 + 汉堡),常驻拇指区。桌面 display:none。
|
||||
必须待在 .top 外面:.top 有 backdrop-filter,会给 fixed 后代当包含块。
|
||||
站标「一横」不在这里出现——手机上导航只要文字和按钮,圆标只留桌面顶栏。 -->
|
||||
<div class="dock">
|
||||
<RouterLink class="dock-brand" to="/">
|
||||
<span class="av"><AuthorAvatar /></span>
|
||||
<span>{{ title() }}</span>
|
||||
</RouterLink>
|
||||
<NavBurger
|
||||
|
||||
@@ -61,19 +61,21 @@ html[data-ui='vivid'] .dock {position:fixed;z-index:90;
|
||||
backdrop-filter:blur(20px) saturate(1.5);
|
||||
-webkit-backdrop-filter:blur(20px) saturate(1.5);
|
||||
box-shadow:var(--shadow-lg);}
|
||||
html[data-ui='vivid'] .dock-brand {display:flex;align-items:center;gap:9px;
|
||||
html[data-ui='vivid'] .dock-brand {display:flex;align-items:center;
|
||||
font-weight:700;font-size:14px;letter-spacing:.02em;color:var(--ink);}
|
||||
/* 窄屏才把 dock 摆出来;这条必须压在基准规则(display:none)之后 */
|
||||
@media (max-width:720px) {
|
||||
html[data-ui='vivid'] .dock {display:flex}
|
||||
}
|
||||
/* 品牌标记换成站标「一横」:它自身就是圆,所以去掉渐变圆盘与首字母字号;
|
||||
右下角那颗绿色在线点保留(它是「有人在写」的信号,不属于被替换的部分)。 */
|
||||
html[data-ui='vivid'] :is(.brand, .dock-brand) .av {width:30px;height:30px;flex:none;
|
||||
右下角那颗绿色在线点保留(它是「有人在写」的信号,不属于被替换的部分)。
|
||||
只作用于桌面顶栏 .brand:手机 dock 里已经不放站标(YohakuTop 的 dock 分支),
|
||||
选择器不再需要 :is() 兼顾两边。 */
|
||||
html[data-ui='vivid'] .brand .av {width:30px;height:30px;flex:none;
|
||||
color:var(--ink);
|
||||
box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--accent-soft);
|
||||
position:relative;}
|
||||
html[data-ui='vivid'] :is(.brand, .dock-brand) .av::after {content:"";position:absolute;right:-1px;bottom:-1px;
|
||||
html[data-ui='vivid'] .brand .av::after {content:"";position:absolute;right:-1px;bottom:-1px;
|
||||
width:9px;height:9px;border-radius:50%;
|
||||
background:#34c759;border:2px solid var(--paper);}
|
||||
|
||||
|
||||
@@ -99,12 +99,20 @@ html[data-ui='vivid'] {/* ---- 设计稿的令牌名 → 全部指回 --v-* ----
|
||||
--mono: 'SF Mono', 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
|
||||
--measure: var(--v-measure);}
|
||||
html[data-ui='vivid'] * {box-sizing: border-box;}
|
||||
html[data-ui='vivid'] {scroll-behavior: auto;}
|
||||
html[data-ui='vivid'] {scroll-behavior: auto;
|
||||
/* 滚到顶再继续下拉,整页会跟着手指往下移,把上边缘以外的画布露出来——手机上
|
||||
看着就是「顶栏没贴到最顶」。禁掉根滚动条的弹性溢出(顺带也禁掉下拉刷新)。
|
||||
背景色写在 html 上:iOS 的弹性溢出这条压不住时,露出来的那一条至少是同一个纸色。 */
|
||||
overscroll-behavior-y: none;
|
||||
background: var(--paper);}
|
||||
html[data-ui='vivid'] body {margin: 0;
|
||||
font-family: var(--sans);
|
||||
color: var(--text);
|
||||
background: var(--paper);
|
||||
min-height: 100vh;
|
||||
/* dvh 是「当前可见高度」:100vh 在 iOS 上等于收起地址栏后的大视口,页面内容
|
||||
不多时也会凭空多出一截可滚的距离。老浏览器不认 dvh,会自动退回上一行。 */
|
||||
min-height: 100dvh;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
transition: background 0.4s var(--ease), color 0.4s var(--ease);}
|
||||
html[data-ui='vivid'] a {color: inherit;
|
||||
|
||||
Reference in new issue
Block a user