美文网首页
H5基础开发流程

H5基础开发流程

作者: ZoranLee | 来源:发表于2020-09-16 16:06 被阅读0次

    基本的能力

    • 依据设计稿(PSD 或 Sketch)及交互要求,利用 JavaScript、HTML 和 CSS 等技术将设计稿高保真转换为网页的能力。

    审查设计稿

    友好性

    • 有哪些地方的设计对开发不友好的地方
    • 是否存在展示缺陷(是否考虑按钮或标签文字数量的溢出情况)?
    • 是否开发成本高或者根本无法实现?

    设计稿的排版布局及内容构成

    • 全局理解页面的设计细节、排版布局及内容构成
    • 利用模块化的思想将设计稿解构成一个个组件,并明确每一个组件的可复用性,包括可复用的范围。

    跨页面可复用组件

    • Header - 顶部导航
    • Footer - 底部信息

    当前页面可复用组件

    • 设计稿审查的过程中,如何将内容模块按照合适的颗粒度抽离成为组件,并确定其可复用性及复用范围

    团队内通用的审查清单

    • 确定设计稿的开发友好性(是否有还原成本高或无法还原的地方)
    • 确定一些特殊的元素是否有合理的边界处理(如文案超出外层容器的边界怎么办)
    • 确定页面的框架结构(Layout)
    • 确定跨页面可复用的组件(Site Component)
    • 确定当前页面可复用的组件(Page Component)

    切图

    在PS中使用Extract Assets

    Extract Assets具备的功能

    • 将 PSD 中的图层或图层组导出为一个或多个的图像资源
    • 导出 JPG、PNG、GIF 或 SVG 类型的图像资源
    • 为所有图像资源设置 1x、2x 等多分辨率的版本
    • 预览每个图像资源
    • 轻松将图像资源导出到你首选的文件夹中
    • 确保每当 PSD 发生变化时,被导出的资源都能得到自动更新

    使用步骤

    • 1、Photoshop中,启用Extract Assets生成图像资源


      image.png
      image.png
    • 2、打开 PSD 文件,勾选如下配置


      image.png
    • 3、更改图层或图层组的名字为适当的文件格式扩展名(.jpg、.png 或 .gif 等)
    • 4、资源生成器默认会在 PSD 的同一层目录下创建 assets 文件夹,如图

    切图工作就完成了!切图只需要简单的三步

    • 打开 PSD 文件
    • 打开 「生成 > 图像资源」
    • 更改图层或图层组的文件名

    Extract Assets 进阶

    • 1、从一个图层或图层组中生成多个资源,请用半角逗号分隔该图层或图层组的名称
    music.png, music.jpg, music_on.png
    
    • 2、图像资源保存到子文件夹中
    子文件夹/music.png
    
    • 3、指定图像品质和大小参数
      • a、默认情况下, JPEG 资源会以 90% 品质生成, PNG 资源会以 32 位图像生成, GIF 资源则会以基本 Alpha 透明度生成


        image.png
      • b、添加所需的输出品质作为资源名称的后缀:jpg(1-10) 或者 jpg(1-100%),例如:
    music.jpg5
    music.jpg50%
    
    • c、添加所需的输出图片大小(相对大小或者支持的单位:px, in, cm 和 mm)作为该资源名称前缀。Photoshop 会相应的缩放图像,例如:
    200% music.png
    240x300 music.png
    

    为资源指定默认位置

    可以为生成的资源指定文件的默认位置,例如想将图层导出到 hi-res/ (存放二倍图,并加上 @2x 的后缀),lo-res/ 存放缩小 50% 的图标,可进行如下配置:

    • A. 创建空图层
    • B. 更改空图层的名称为default hi-res/@2x + 50% lo-res/

    Export Artboards, Layers, and more

    • Photoshop CC 2015 版本之后添加了 Artboards 功能,有点类似Sketch里面的 Artboards。
    • 右键点击所需要导出的图层或图层组,点击弹出菜单中的Export As或导出为即可

    PS 动作切图

    • 用Extract Assets切图存在一个问题,它只能切画布范围内的资源,超出画布的部分会直接被裁减掉,如下图:


      image.png
    • 想切完整的图片该怎么办?建议用原始的「导出图层」的方式来切图,步骤如下:
      1、右键点击图层或图层组
      2、选择转换为智能对象
      3、编辑内容
      4、导出图片


      image.png
    • 通过 PS 的动作切图,可以得到如下结果:


      image.png

    CSS

    BEM 命名规范

    • BEM 的意思就模块(Block)、元素(Element)、修饰符(Modifier)
      1、Block - 模块,名字的单词之间用 - 符号连接
      2、Element - 元素,模块中的子元素,用 __ 符号连接
      3、Modifier - 修饰符,表示父元素或子元素的其他形态,用 -- 符号连接
    <!-- S Search Bar 模块 -->
    <div class="search-bar">
      <input class="search-form__input"/>
      <!-- / input 输入框子元素 -->
      <button class="search-form__button"></button>
      <!-- / button 搜索按钮子元素 -->
    </div>
    <!-- E Search Bar 模块 -->
    
    • 配合SCSS代码
    // 以下是 SCSS 代码
    .search-bar {
      &__input { ... }
      &__button { ... }
    }
    

    姓氏命名法

    <div class="app_market_answer">
      <div class="app_market_secheader"></div>
      <div class="app_market_answer_list">
        <div class="app_market_answer_item">
          <div class="app_market_answer_itop"></div>
          <div class="app_market_answer_imid"></div>
          <a href="javascript:;" class="app_market_answer_ibtn">去围观</a>
        </div>
      </div>
    </div>
    
    • 例如app_market可以看成是「复姓」,我们有时候为了书写便利,可以将两个单词的首字母结合在一起形成一个新的「单姓」,如am
    • ClassName 的命名应该尽量精短、明确,以英文单词命名,且全部字母为小写,避免意义不明的缩写
    • 单词之间统一使用下划线 _ 或 - 连接
    • 学习 BEM 的思想,参考使用姓氏命名法规范
    • 定义样式模块,提高代码的可复用性

    兼容性测试

    • 页面在各个浏览器中,以及不同分辨率下是否能正常显示(HTML / CSS 兼容性)
    • 网页的功能是否能在各个浏览器中正常使用(JavaScript 兼容性)
      IE 、Android 低版本浏览器也会有较多的问题

    兼容性的基本原则

    • 渐进增强与平稳退化
    • 在低端浏览器能够保持可用性和可访问性,然后再渐进增强,逐步增加功能及优化用户体验。

    遇到兼容性问题,可以按如下步骤处理

    • 确认触发的场景:什么浏览器,什么版本,什么情况下触发的问题,做到稳定复现。
    • 找出问题原因:是什么问题导致的,具体表现如何?
    • 确定解决办法:参考现成的解决方案,如哪些属性不能使用以及相应的 Hack 处理
    • 收集兼容性处理方法,积累成文档

    页面骨骼框架

    盒模型

    • HTML 文档中的每个元素都可以被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用的空间,这个模型称为标准盒模型


      image.png
    • margin(外边距)、border(边框)、padding(内边距)、content(内容区域)
    • IE 浏览器下,IE 没有使用标准盒模型。它们认为的元素宽度width计算公式如下
    元素宽度 = width + padding + border
    盒子总宽度 = 元素宽度 + margin
    
    • 盒子宽度
    盒子总宽度 = width + padding + border + margin
    

    box-sizing

    • CSS3 中新增了一个盒模型的计算方式:box-sizing
    box-sizing: content-box | padding-box | border-box;
    默认值:content-box
    
    • 将盒模型设置成border-box,添加如下规则:
    *, *:before, *:after {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }
    
    • 设置成border-box之后的盒子宽度计算公式如下:
    盒子总宽度 = width
    
    不管margin + border + padding + content-width大于还是小于元素宽度width,
    盒子的总宽度始终固定为width。
    

    布局

    • 普通文档流布局 (display: block、display: inline)
    • 元素之间按照从左到右,从上到下的顺序排列。
    • 浮动布局(float:左右浮动、脱离普通文档流)
    • 如果想避免浮动布局遮盖普通布局的情况,可以考虑使用清除浮动。
    • 绝对布局(position: absolute)
    • 脱离文档流,其定位是参考祖先元素中position为非static值的第一个元素。
    • 弹性布局(display:flex)
      是一个完整的模块,而不是一个单一属性,其中有的属性是设置在父元素上,有些则是设置在子元素上,传统的布局是建立在块级元素和行内元素的文本流上,那么 Flex 布局就是建立在flex-flow的轴方向上的
    • 网格布局(display:grid)
      是用于制定行与列的二维 CSS 布局方法,可以将页面分割成数个主要的区域,或者用来定义组件内部元素间的大小、位置和图层之间的关系。

    语义化

    • HTML 语义化就是根据具体的内容,选择合适的标签进行代码的编写,这样既能便于开发者阅读和维护,也能让搜索引擎的爬虫更好地识别


      image.png

    http://beach-inc.com/works/

    相关文章

      网友评论

          本文标题:H5基础开发流程

          本文链接:https://www.haomeiwen.com/subject/esscyktx.html