目的:为开发页面时有一套明确的页面结构化实施方案,提高开发效率;

HTML结构化指的其实就是使用HTML语义化标签根据web标准书写具有明确结构逻辑的HTML代码的一种思路;

说白了重点就是:页面实际要展现的内容,贴切页面内容的HTML标签,符合web标准,结构逻辑明确;

前置条件

1、了解HTML语义化;

2、了解web标准;

工作中如何使用结构化?

从单纯的页面级别来说,页面是由很多个小的结构组成的,这些小的结构都由HTML标签包裹着文字、图片组成的。

一、结构化整体布局

一个常规的页面一般分为以下几部分:

1、头部head

2、侧栏side

3、主体内容main

4、尾部foot

上面四个部分就是一个大的结构化布局;

二、结构化细则布局

针对UI设计师天马行空的设计理念,作为前端人员必须有一套自己的应对方案;比如在UI还没天马行空完,我们就可以根据原型书写一套良好的HTML代码;

什么才是良好的HTML代码呢?

1、HTML语义化要有强有力的展现,比如是一段文字的话就用p标签,这没什么可解释的;

2、块级元素和内联元素的嵌套一定要符合web标准,比如内联元素就是不能嵌套块级元素;

3、在写结构的时候不要去考虑样式怎么展现,结构就是结构,跟样式没毛线关系;

4、结构一定要体现出所表达的含义,达到只看结构就能知道该结构是要干嘛的;

举几个例子:

1、书写一个有标题、图片、文字的HTML结构

<div>
<h2>标题</h2>
<img src="xxx.jpg" alt="xxx.jpg" />
<p>内容内容内容内容</p>
</div>

2、书写一个form表单

<form>
<label>账号</label>
<input type="text" value="" />
<button type="submite">提交按钮</button>
</form>

三、结构化的步骤

1、无论是根据原型还是UI设计稿,都要先抽出头尾、侧栏等公用的布局结构进行单独HTML代码的编写;

2、仔细查看原型或者UI设计稿,找出结构一样或者结构相似的,思考结构相似的该如何展现;是求同存异?还是修改成相同的?比如图片在上文字在下和图片在下文字在上;

3、着手编写HTML代码时,将代码以单独结构的形式进行注释;

四、结构化标准

1、HTML代码必须根据页面的具体内容进行语义化编写;

2、禁止内联元素包含块级元素;

3、禁止超出三层的标签嵌套;

4、相似度70%(拍脑袋拍出来的)的结构必须抽取相同结构或者强制写成完全相同的结构;

5、每一块结构必须加注释,在进行拷贝结构页面拼装时,注释也必须要带上;

6、整站相同的结构必须写在一个页面中;

7、禁止一边写结构一边写样式;

五、辨别结构化的合理性

从以下几个方面入手:

1、HTML标签是否和所要展现的内容贴切;

2、内联标签是否只包含文字、图片等需要在页面上展现出来的内容;

3、标签嵌套是否在三层以内;

4、结构与结构之间的相似度是否低于70%;

六、结构化中重复的工作

一切重复性的工作是应该被消灭的;

其实大部分网站都会存在很多共性的地方;比如某个结构会出现在很多网站当中,毕竟设计师有时也是按套路出牌的;

针对在很多页面乃至很多网站中出现较频繁的结构,我们肯定不能够每次都去梳理结构书写结构,最好的办法就是将这些高频的结构代码封装成代码片段,保存在常用的IDE中,这样就能够提高开发效率消灭重复的工作;

七、判断页面是不是结构化

见第五条

HTML结构化的更多相关文章

  1. ElasticSearch 5学习(10)——结构化查询(包括新特性)

    之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...

  2. MySQL 5.7:非结构化数据存储的新选择

    本文转载自:http://www.innomysql.net/article/23959.html (只作转载, 不代表本站和博主同意文中观点或证实文中信息) 工作10余年,没有一个版本能像MySQL ...

  3. WordPress插件--WP BaiDu Submit结构化数据插件又快又全的向百度提交网页

    一.WP BaiDu Submit 简介 WP BaiDu Submit帮助具有百度站长平台链接提交权限的用户自动提交最新文章,以保证新链接可以及时被百度收录. 安装WP BaiDu Submit后, ...

  4. 利用Mongoose来结构化模式与验证

    Mongoose是一个文档对象模型(ODM)库,为MongoDB Node.js原生驱动程序提供更多的功能. 把结构化的模式应用到一个MongoDB集合,提供了验证和类型转换的好处 Mongoose通 ...

  5. linux shell脚本使用结构化命令

    内容: 一.if-then命令 二.if-then-else命令 三.test命令 四.case命令 1.if-then结构化命令中最基本的类型,其格式如下: if command then comm ...

  6. NoSQL生态系统——类似Bigtable列存储,或者Dynamo的key存储(kv存储如BDB,结构化存储如redis,文档存储如mongoDB)

    摘自:http://www.ituring.com.cn/article/4002# NoSQL系统的数据操作接口应该是非SQL类型的.但在NoSQL社区,NoSQL被赋予了更具有包容性的含义,其意为 ...

  7. Windows 结构化异常

    结构化异常不能用于需要调用对象析构函数的函数中 __try{ } __except(){ } __try{ } __finally{ }

  8. 结构化查询语言(SQL)数据类型

    简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型. 字符型 VARCHARVS CHAR VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要.他们都是用 ...

  9. HTML5 常用的结构化标签整理

    一.语义化结构化标签 结构化标签优点: 1.方便浏览器处理和识别,提升了网页的质量和语义. 2.减少了大量无意义的div标签,增强代码的可读性. 结构化标签:(header,nav,body,arti ...

随机推荐

  1. Python 字符串操作及string模块使用

    python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...

  2. GIFT-EMS礼记----青软S2SH(笔记)

    这个S2SH的项目,是这本书的一个贯穿项目,所以这里要记录一下, 看这个项目有两个目的: 1.借助这个项目,学习一下S2SH的综合配置及使用 2.借助这个项目练习一下如何做需求分析和项目架构设计. P ...

  3. ThinkPHP真正疑难问题笔记

    如何选择线程安全版本还是非线程安全版本: http://www.cnblogs.com/Alight/p/3389113.html(看webserver处理请求时, 使用的是多线程的方式还是 多进程的 ...

  4. angularjs 中state.go 跳转并且打开新的浏览器窗口

    包子最近遇到业务人员提的非常无厘头的需求,就是调页面的时候,一定要打开一个新的浏览器窗口...>o<奇葩!!! 但是我的页面都是state.go跳转的呀,我各种百度,发现,貌似state, ...

  5. Like与Instr模糊查询性能

    项目中用到like模糊查询,但是总觉的太小家子气,有没有高逼格的呢? instr(title,'手册')>0 相当于 title like '%手册%' instr(title,'手册')=1 ...

  6. nodejs开发 express路由与中间件

    路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议. host表示主机. port为端口,可选字段,不提供时默认为80. path指定请求资 ...

  7. PHP判断变量是否存在及函数isset() 、empty()与is_null的区别

    一.举例说明 A.如何判断一个变量是否定义? <?php // 假设不存在$test 变量 if (isset($test)) { echo '$test 已经set', '<br/> ...

  8. 编译安装 Zend Opcache 缓存Opcache,加速 PHP

    Optimizer+ 是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件,是第一个也是最快的 opcode 缓存工具.现在,Zend 科技公司将 Optimizer+ 在 PHP Lice ...

  9. GitHub使用教程

    一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘等等一系列工具进行Copy,然后回家才能继续在原来的基础上作业.Cop ...

  10. Git配置姓名和邮箱问题

    今天在安装Git for windows完成后,配置姓名和邮箱.按照廖雪峰老师的步骤,在开始菜单里找到"Git"->"Git Bash",单击后并没有跳出 ...