欢迎来到《真香,30天做一套wordpress主题》系列文章,我们的目标是花上30天的时间闭关修炼,建立一套全新的wordpress主题,如果你看到的第一篇文章不是《基础框架搭建》,建议你关注我们(数字江湖异志录),从该系列的第一篇开始阅读。

我们将尽量保持文章的循序渐进和通俗易懂,请确保自己已经掌握了那一篇文章的全部内容时才选择跳过,不然可能会错过关键的信息噢~

这里我们假定你已经知晓了以下基础知识,这些基础知识对理解文章内容是至关重要的:

1. html/css/js基础

2. php基础

3. 如何使用wordpress

4. 如何搭建web环境

如果你已经知晓了以上基础知识,恭喜你,本系列的任何文章内容对你而言都没有什么难度。

平板适配

我们先从简单的开始,适配平板,这里我们只考虑平板竖向使用的情况。我们遵循的原则就是,复用pc端的样式,然后通过媒体查询器控制元素的显示/隐藏和大小、宽度等占位属性,我们先来看看目前不做任何适配的情况下平板(竖向)的显示,这里我们直接从wordpress的主题预览取看:

我们全局使用了视口vw单位,因此平板里看上去没什么问题,我们这里就直接跳过了(这样也可以?)。

手机适配

我们先来看一下目前手机端的效果:

现在这样可不行,好多东西都挤到一起去了,这里我们主要做三个工作:

1. 顶部菜单更换为点击弹出式菜单(初始状态隐藏)

2. 双栏布局改单栏布局

3. 字体、文字行高调整

我们使用媒体查询器,对移动端的定义为640px及以下,相应的css我们统统放到这个查询器里面。

            @media only screen and (max-width: 640px){                .top-container {                    width: 100vw;                }            }

这里我们需要注意的是,那些和pc端保持一致的样式,就不要重复写了,还要记得根据移动端设计图尺寸计算vw噢。

              header {                    height: 33.3333vw;                }                .top-container {                    width: 100vw;                }                .title-menus-area {                    margin-top: 4.6667vw;                    height: auto;                }                .blog-title {                     margin-top: 0;                    margin-left: 5.3333vw;                    font-size: 3.7333vw;                    line-height: 3.7333vw;                }                .top-menus {                    display: none;                }                .tagline {                    margin-top: 6vw;                }                .tagline-main {                    font-size: 5.0667vw;                    line-height: 5.0667vw;                    margin-bottom: 3.08vw;                }                .tagline-split {                    width: 8.8vw;                    height: 0.44vw;                    margin-bottom: 1.78vw;                }                .tagline-sub {                    font-size: 2.9333vw;                    line-height: 5.1333vw;                }

这里主要调整了容器宽度、字体大小和行高,现在我们的页面看起来像是这样:

可以看到,我们暂时把顶部菜单去掉了,字体大小都进行了修改,这样在移动端浏览时就不会因为文字过小而看不清楚了。

现在我们把顶部菜单加上,这里我们需要增加一个checkbox来作为菜单的展开按钮:

<input type="checkbox" id="header-menu-button"/>                    <div for="header-menu-button" class="top-menus">                    <?php                        wp_nav_menu(                            array(                                'container'  => 'nav',                                'theme_location' => 'primary',                            )                        );                    ?>                    </div>

这里的关键就在于for="header-menu-button",这样在checkbox被点击时,我们的top-menus就可以被#header-menu-button:checked + .top-menus选择器选中,现在进行一些css描述,最后我们的菜单在移动端展开后看起来像这样:

然后我们来弄文章列表这部分的适配,设置好宽度,css进行定义就可以了,基本属于苦力活,样式就不贴了,最终效果如下:

接着弄小工具和公共底部的移动端适配,同样是苦力活,调整下和大小相关的属性就可以了:

至此,我们首页的移动端适配就基本完成了。

总结和预告

今天我们完成了首页移动端的适配,使用了css的媒体查询器进行样式定义,相对于pc的样式,基本只修改了和大小相关的那些属性,其实我们也可以有针对性的对部分ui元素进行隐藏,只是我们这里没有这样的需求,在移动端隐藏非关键性ui是很常规的操作。

明天我们将主题的css样式按功能分组,抽离到独立的文件中去,然后制作主题的搜索页面,随着可复用的元素越来越多,我们的开发进度也会越来越快,敬请期待吧。

如果你喜欢这个系列的文章,赶快关注我们(数字江湖异志录)吧,不要错过后续的更多干货噢。