知识储备

​  在阅读本篇前,您需要了解什么是小故事,可以查看开发小故事前期准备小故事的组织结构了解基础信息;

小故事的封面的开发

添加一个封面

​  MIP小故事中的页面由<mip-story-view>组件表示。在<mip-story>组件内部,您可以添加一个或多个<mip-story-view>组件。

​  首先添加第一个小故事段落,在代码中添加一个mip-story-view 标签。在小故事页面中,第一个段落通常被定义小故事封面,因此给它添加一个唯一的id为 cover;

  1. <mip-story id="story-demo">
  2. <mip-story-view id="cover">
  3. ...
  4. </mip-story-view>
  5. </mip-story>

​  以上是小故事封面,接下来添加封面的内容;

在封面中添加图层

​  在MIP故事页面中可以使用图层来创建视觉效果。层层叠在一起,因此,第一层是底层,下一层在顶层,依此类推。如下图所示:

​  封面实际上由两层组成:

  • 第1层:作为背景的图片
  • 第2层:故事的标题和副标题

为小故事创建一个封面 - 图1

2.1 创建封面的背景图

  将第一层添加到封面上。该图层包含填充屏幕的图像。

​  通过为<mip-story-view>元素添加子元素<mip-story-layer>的方式来创建图层。为了使封面页的背景图片充满屏幕,可设置<mip-story-layer>中的template属性fill,指定该template="fill"。在图层内部,<mip-img>cover.jpg文件添加一个元素,并确保它对layout="responsive"图像尺寸为720 x 1280像素的响应。

  • 示例:
  1. <mip-story>
  2. <mip-story-view>
  3. <mip-story-layer template="fill">
  4. <mip-img layout="responsive" width="720" height="1280" src="https://www.mipengine.org/static/img/mip-story/p1.png"></mip-img>
  5. </mip-story-layer>
  6. </mip-story-view>
  7. </mip-story>

​​  通过以上代码,可以实现封面图片的显示,图形化界面如下:


为小故事创建一个封面 - 图2

2.2 创建封面的内容

​  在完成第一层的背景图之后,需要填充封面页上的内容,如主标题和副标题。

​  在页面中继续添加一个<mip-story-layer> 标签,并给他添加子元素主标题和副标题。 为了使这些元素依次排列,需给<mip-story-layer>template属性赋值vertical

  • 示例:
  1. <mip-story>
  2. <mip-story-view>
  3. <mip-story-layer template="fill">
  4. <mip-img layout="responsive" width="480" height="720" class="fade-in-scale" src="https://www.mipengine.org/static/img/mip-story/p1.png" layout="responsive"></mip-img>
  5. </mip-story-layer>
  6. <mip-story-layer template="vertical">
  7. <div class="page1-wrap">
  8. <span>第90届奥斯卡</span>
  9. <span>The 90th Oscar</span>
  10. <span class="line"></span>
  11. <span>颁奖典礼回顾</span>
  12. </div>
  13. </mip-story-layer>
  14. </mip-story-view>
  15. </mip-story>

​​  通过以上代码,可实现完整的小故事封面,图形化界面如下:


为小故事创建一个封面 - 图3

template布局

​​  template<mip-story-layer>组件的一个属性,可以通过设置该属性的值来完成的段落的整体布局结构;
template 有以下几种取值。

fill

​​  填充布局,该布局方式会将当前 <mip-story-layer> 中的第一个元素进行填充布局,其他元素均隐藏。适合于将图片、视频作为背景展示的场景。如图:

  1. <mip-story-layer template="fill">
  2. <mip-img src="cover.jpg"></mip-img>
  3. </mip-story-layer>

为小故事创建一个封面 - 图4

vertical

​  <mip-story-layer> 中的元素沿 y 轴排列,x 轴方向填充布局。

  1. <mip-story-layer template="vertical">
  2. <p>element 1</p>
  3. <p>element 2</p>
  4. <p>element 3</p>
  5. </mip-story-layer>

为小故事创建一个封面 - 图5

horizontal

​​  <mip-story-layer> 中的元素沿 x 轴排列,y 轴方向填充。

  1. <mip-story-layer template="horizontal">
  2. <p>element 1</p>
  3. <p>element 2</p>
  4. <p>element 3</p>
  5. </mip-story-layer>

为小故事创建一个封面 - 图6

thirds

​​  支持上中下三列布局,在使用该布局时,内部的元素需要同时加入对应的属性,包括:

  • flex-area='upper-third': 元素位于三等分布局的上部;

  • flex-area='middle-third': 元素位于三等分布局的中部;

  • flex-area='lower-third': 元素位于三等分布局的下部;

  1. <mip-story-layer template="thirds">
  2. <h1 flex-area="upper-third">element 1</h1>
  3. <p flex-area="middle-third"></p>
  4. <p flex-area="lower-third">element 2</p>
  5. </mip-story-layer>

为小故事创建一个封面 - 图7

​​  至此,已经完成了小故事封面的开发,接下来需填充更多的段落来丰富其内容;

上一节:小故事的组织结构

下一节:为小故事添加更多的内容段落

小故事开发系列教程

一、开发小故事前期准备

二、小故事的组织结构

三、为小故事创建一个封面

四、为小故事添加更多的内容段落

五、为小故事段落中的元素添加交互动画

六、为小故事添加背景音乐

七、为小故事添加封底页面

八、为小故事添加页面统计

九、对小故事进行页面代码规范校验