Z-Blog 主题适配移动端:viewport 与模板断点的处理

· zblog · 阅读 21
摘要

Z-Blog 默认主题很少做移动端适配。viewport 必须写在 header.php 的 head 里,且不能靠 JS 动态插入;断点应按内容区宽度选择,侧栏顺序和图片尺寸也要一起做响应式处理。

Z-Blog 默认主题很少做移动端适配,自己改的时候这两个地方最容易漏。

一、viewport 必须写在 header.php 里

<meta name="viewport" content="width=device-width, initial-scale=1">

少了这一行,手机上会按 980px 渲染再整体缩小,文字小到看不清。它要放在 <head> 里,且不能通过 JS 动态插入,部分浏览器读不到。

二、断点选择

常见断点:

宽度设备
≤576px手机
577–768px大屏手机/竖屏平板
769–992px平板横屏
≥993px桌面

不需要每个都写,按主题实际布局定。以内容区宽度为基准来断更合理,别对着设备型号硬凑。

三、模板结构要配合

光靠 CSS 媒体查询不够,侧栏在手机上要塞到正文后面、导航要折叠。这需要在模板里给区块加语义化的 class,再用 CSS 控制顺序:

.layout { display: flex; }
.sidebar { order: 2; }
@media (max-width: 768px) {
    .layout { flex-direction: column; }
}

四、图片要自适应

img { max-width: 100%; height: auto; }

两行代码解决 90% 的图片溢出问题。但注意:加上全局 img 规则后,主题里原本用小图做图标的元素也可能被拉伸,需要用 class 排除。

五、移动端要不要单独模板

Z-Blog 支持按设备切换主题,但维护两套成本很高。除非站点有明确的移动端流量需求,否则响应式一套就够。