上周做了一些修改, 为博客加上了左侧边栏. 对于这个一直都在小修改的主题来说, 这算是大改动了吧.
左侧边栏宽度只有右侧边栏的一半, 只在宽屏的 IE8 或更新的浏览器展示, 我打算用来放一些辅助信息. 在首页会显示一些跟导航相关的内容, 有分类和标签云; 在文章详细页面, 显示文章目录作为内导航.
为什么新增左侧边栏?
对于左侧边栏的内容, 其实我没有完全准备好. 我原本希望在分类和日期存档页面中可以显示 Refined Filter, 一些相关的过滤规律. 比如: 在 #A 分类的页面, 可以过滤作者, 选择作者 #1 则将显示内容变为 #1 的所有 #A 的文章列表. 因为 WordPress 虚弱的搜索功能, 这样的功能并没有原生支持, 也找不到较好的插件.
不过对于宽屏的读者来说, 固定宽度的两边的留白实在太浪费了, 而过去的一段时间我已经将博客的分类整理好了, 很想加强类目导航, 所以最后还是增加了这一栏, 以后慢慢完善.
浏览器兼容性考虑
主题更新完没多久, 就有人问我为什么不用响应式布局. 响应式布局想在吹得很大, 看起来很完美, 而工作量大, 兼容性差也是不争的事实. 在现阶段, 我宁可通过 WordPress Mobile Themes 插件搭配一个手机主题, 兼容平板事件和折中处理窄屏来解决掉问题, 这样性能和体验都可以更好.
不管是因为 Windows 7 的普及, 还是因为 360 的假补丁, IE6 和 IE7 的占有率已经很小, 并且占有率下降速度也比较快; 但 IE8 占有率不低, 而且 Windows XP 不能安装更新版本的 IE, Windows 8 的不给力也可能导致 IE8 长期存在.
最终, 忽略 IE6 和 IE7, 给它个 960 宽度了事; 兼容 IE8, 但阴影等一些效果 IE8 不做支持, 算是渐进增强吧.
类目栏的显示方式
加入左侧边栏的一个最重要的新增功能无疑是类目栏, 它占据了页面中最能吸引眼球的左上角. 我想加强类目导航, 但类目栏只会在首页和搜索页面默认展开, 其它页面仅当鼠标悬停在该区域时才显示. 这有两个原因:
1. 在业务角度
一般进入类目列表或者文章详情页面的读者是通过网站导航或者搜索引擎进来的, 他们有明确的目的, 不应该被其他类目抢走读者的太多目光, 更希望他们多关注本页内容. 所以在文章详细页面, 我将文章目录放在最显眼的位置, 便于读者更快地定位内容.
2. 在 SEO 角度
如果每个页面都载入所有类目, 可能网页信息不够内聚, 更可能分散爬虫的关注度. 所以在这类页面没有必要加载所有类目, 仅在读者想看的时候通过异步的方式加载进来.