原来,Apple 的编辑是这样发微信文章的

栏目: IT技术 · 发布时间: 4年前

内容简介:Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。文章代表作者个人观点,少数派仅对标题和排版略作修改。我们来看下 iPhone SE 发布的那篇文章的展示效果图:

Matrix 精选

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。

「Apple 微信公众号」的排版效果总是让人眼前一亮,精致的细节、酷炫的动画让人不得不佩服 Apple 团队的用心与专业。

经过源码分析后发现,Apple 的微信公众号在排版上用了一些黑科技,其中包括了 SVG、Flex Layout、Chrome Inspect 等 Web 前端技术。 我今天就给大家分享下,Apple 微信公众号的效果是如何制作出来的。  

原来,Apple 的编辑是这样发微信文章的

效果展示

我们来看下 iPhone SE 发布的那篇文章的展示效果图:

原来,Apple 的编辑是这样发微信文章的

布局剖析

我们来分析下上面的布局效果:排版共有 5个模块组成。 我们分别用 A、B、C、D、E 来标记。如下图:

原来,Apple 的编辑是这样发微信文章的

排版剖析:

如果你稍懂 CSS,那么实现这样的布局是非常简单的。Apple 用的方式是使用 Flex Layout:

<div>
    <div>
         <div>
                 <!-- 内容 A -->
         </div>
        <div>
                <!-- 内容 B -->
         </div>
    </div>
    <div>
<!-- 内容 C -->
    </div>
    <div>
<!-- 内容 D -->
    </div>
    <div>
<!-- 内容 E -->
    </div>
</div>

完整源码

然而,微信官方的内容编辑器并不支持直接编辑 HTML,不过这难不倒我们,我们要使用一些简单的黑科技(后文会说明)就能把代码提交到微信后端,实现 Flex Layout 效果。

点击事件、动效

我们发现,Apple 的ABCDE每个模块都有点击事件,然而微信公众号并不支持 JS,那么点击事件是如何添加的的呢? 其实,Apple 团队采用 SVG + JPEG/GIF 组合方案 来给图片增加点击事件和动效的。 我们来看下效果:

SVG + JPEG + JPEG 完整效果,请用微信扫描文章顶部二维码:

原来,Apple 的编辑是这样发微信文章的

SVG + JPEG + GIF 完整效果,请用微信扫描文章顶部二维码:

原来,Apple 的编辑是这样发微信文章的

SVG + GIF + GIF 完整效果,请用微信扫描文章顶部二维码:

原来,Apple 的编辑是这样发微信文章的

之所以可以实现上述效果,是因为我们利用 SVG 给图片增加了点击事件。由于在 SVG 中 使用 animate 标签 可以添加事件,同时 animate 本身就有动画效果, 因此使用SVG,微信文章中的图片就拥有了交互能力。

使用这部分代码时,只需要将图片1、图片2 的URL替换成,你已经上传到微信图库中图片的 URL 即可实现上述效果。

当我们把 JPEG 用 GIF 来代替时,可以组合的效果选择就丰富多了。比如上面演示的 ` SVG + JPEG + GIFSVG + JPEG + GIF

实现这个效果的主要代码如下:

...
<div>
    <svg xmlns="http://www.w3.org/2000/svg" 
          style="background-image: 
        url(图片2微信图库URL);">
        <animate attributeName="opacity"begin="click">
        </animate>
    </svg>
    <div
      background-image: 
url("图片1微信图库URL");">
    </div>
</div>
...

完整源码

用 Chrome Inspect 提交代码

我们知道,微信公众号的编辑器是不支持直接修改文章 HTML 的。那么我们该如何才能把编辑好的代码提交到微信后台呢? 这时候我们就要用到 Chrome Inspect ,对于做前端的同学来说,Chrome Inspect 是调试过程中离不开的工具,它可以直接帮助我们修改前端 HTML 代码。因此提交代码的步骤是:

Inspect

标签,选择 Edit as HTML

  1. 贴入代码(Flex 或 SVG),就能看到效果。
原来,Apple 的编辑是这样发微信文章的

Flex Layout + SVG + Chrome Inspect 实现 Apple 动效

我们了解了 Apple 公众号的效果是如何实现的了,下面那么我们来实践一下。

完整效果,请用微信扫描文章顶部二维码:

原来,Apple 的编辑是这样发微信文章的

为了让大家方便使用,我已经把代码整理好提交到了 Github,点击 完整源码 即可获得。

> 下载少数派客户端、关注少数派公众号,了解更妙的数字生活 :leaves:

> 想申请成为少数派作者?冲!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ASP.NET揭秘

ASP.NET揭秘

Stephen Walther、汤涛 / 汤涛 / 中国电力出版社 / 2004-8-1 / 95.00元

本书是美国亚马逊网站同类书长期销售冠军,并受到微软ASP.NET小组项目经理Rob Howard的大力推荐,中文版由中科院专家汤涛老师翻译,经典、权威是本书最好的诠释。 本书共分10部分,31章,囊括了在.NET框架下架建ASP.NET应用程序的各个层面。每一章也都不是泛泛而谈理论,而是围绕实际样例代码来组织,让读者马上可以上手,并且加深理解。书中还包含了两个完整的、立即就可以用得......一起来看看 《ASP.NET揭秘》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具