(点选下方社会公众号,可加速高度关注)
译者:庞德公新浪网时评译者 – 蓝莓城命令行
镜像:http://web.jobbole.com/87908/
怎样提高Web网页的操控性,许多合作开发者从数个各方面来脱身如JavaScript、影像强化、伺服器配置,文件填充或者修正CSS。
很或许HTML 已经达至了一个困局,虽然它是合作开发Web 介面必不容少的核心理念词汇。HTML网页的阻抗也是极重。绝大多数网页平均值须要40K的内部空间,像许多小型中文网站会包涵数以百计的HTML 原素,网页Size会Villamblard。
怎样有效率的减少HTML 标识符的维数和网页原素的数目,责任编辑主要化解了那个难题,从数个各方面如是说了怎样撰写明快,明晰的HTML 标识符,能使得网页读取更加快速,且能在多种不同电子设备中运转较好。
在结构设计和合作开发操作过程中须要遵从下列准则:
内部结构分立:采用HTML 减少内部结构,而并非式样文本;
维持干净:为组织工作流加进标识符校正辅助工具;采用辅助工具或式样科水狼保护标识符内部结构和文件格式
保证可出访: 采用ARIA 特性和Fallback 特性等
试验: 使中文网站在多种不同电子设备中能较好运转,可采用emulators和操控性辅助工具。
HTML、CSS 和JavaScript三者的关系
HTML 是用于修正网页内部结构和文本的标记词汇。HTML 不能用于修饰式样文本,也不能在头标签中输入文本文本,使标识符变得冗长和复杂,相反采用CSS 来修饰布局原素和外观比较合适。HTML原素默认的外观是由浏览器默认的式样表定义的,如在Chrome中h1标签原素会渲染成32px的Times 粗体。
三条通用结构设计规则:
采用HTML 来构造网页内部结构,CSS修饰网页呈现,JavaScript实现网页功能。CSS ZenGarden 很好地展示了行为分立。
如果能用CSS或JavaScript实现就少用HTML标识符。
将CSS和JavaScript文件与HTML 分开存放。这可有助于缓存和调试。
文档内部结构各方面也可以做强化,如下:
采用HTML5 文档类型,下列是空文件:
<!DOCTYPE html>
<html>
<head>
<title>Recipes: pesto</title>
</head>
<body>
<h1>Pesto</h1>
<p>Pesto isgood!</p>
</body>
</html>
在文档起始位置引用CSS文件,如下:
<head>
<title>My pesto recipe</title>
<link rel=“stylesheet”href=“/css/global.css”>
<link rel=“stylesheet”href=“css/local.css”>
</head>
采用这两种方法,浏览器会在解析HTML标识符之前将CSS信息准备好。因此有助于提高网页读取操控性。
在网页底部body结束标签之前输入JavaScript标识符,这样有助于提高网页读取的速度,因为浏览器在解析JavaScript标识符之前将网页读取完成,采用JavaScript会对网页原素产生积极的影响。
<body>
…
<script src=“/js/global.js”>
<script src=“js/local.js”>
</body>
采用Defer和async特性,脚本原素具有async 特性无法保证会按顺序执行。
可在JavaScript标识符中加进Handlers。千万别加到HTML内联标识符中,比如下面的标识符则容易导致错误且不易于保护:
index.html:
<head>
…
<script src=“js/local.js”>
</head>
<body onload=“init()”>
…
<buttononclick=“handleFoo()”>Foo</button>
…
</body>
下面的写法比较好:
index.html:
<head>
…
</head>
<body>
…
<button id=“foo”>Foo</button>
…
<script src=“js/local.js”>
</body>
js/local.js:
init();
varfooButton =
document.querySelector(#foo);
fooButton.onclick = handleFoo();
校正
强化网页的一种方法就是浏览器可处理非法的HTML 标识符。合法的HTML标识符很容易调试,且占内存少,耗费资源少,易于解析和渲染运转起来更快。非法的HTML标识符让实现响应式结构设计变得异常艰难。
当采用模板时,合法的HTML标识符显得异常重要,经常会发生模板单独运转较好,当与其他模块集成时就报各种各样的错误,因此一定要保证HTML标识符的质量,可采取下列措施:
在组织工作流中加进校正功能:采用校正插件如HTMLHint或SublineLinter帮助你检测标识符错误。
采用HTML5文档类型
保证HTML的层次内部结构易于保护,要避免原素嵌套处于左开状态。
保证加进各原素的结束标签。
删除不必要的标识符 ;没有必要为自关闭的原素加进结束标签;Boolean 特性不须要赋值,如果存在则为True;
<video src=”foo.webm” autoplay=”” controls=””/>
标识符文件格式
文件格式一致性使HTML标识符易于阅读,理解,强化,调试。
语义标记
语义指意义相关的事物,HTML 可从网页文本中看出语义:原素和特性的命名一定程度上表达了文本的角色和功能。HTML5 引入了新的语义原素,如<header>,<footer>及<nav>。
选择合适的原素来撰写标识符可保证标识符的易读性:
采用<h1>(<h2>,<h3>…)表示标题,<ul>或<ol>实现列表
注意采用<article> 标签之前应加进<h1>标签;
选择合适的HTML5语义原素如<header>,<footer>,<nav>,<aside>;
采用<p>描述Body 文本,HTML5 语义原素可以形成文本,反之不成立。
采用<em>和<strong>标签替代<i>和<b>标签。
采用<label>原素,输入类型,占位符及其他特性来强制校正。
将文本和原素混合,并作为另一原素的子原素,会导致布局错误,
例如:
<div>Name: <input type=”text” id=”name”></div>
换种写法会更好
<div>
<label for=“name”>Name:</label><input type=“text”id=“name”>
</div>
布局
要提高HTML标识符的操控性,要遵从HTML 标识符以实现功能和为目标,而并非式样。
采用<p>原素修饰文本,而并非布局;默认<p>是自动提供边缘,而且其他式样也是浏览器默认提供的。
避免采用<br>分行,可以采用block原素或CSS显示特性来代替。
避免采用<hr>来加进水平线,可采用CSS的border-bottom 来代替。
不到关键时刻不要采用div标签。
尽量少用Tables来布局。
可以多采用Flex Box
采用CSS 来修正边距等。
CSS
虽然责任编辑讲解的是怎样强化HTML,下面如是说了许多采用css的基本技能:
避免内联css
最多采用ID类 一次
当涉及数个原素时,可采用Class来实现。
以上就是责任编辑如是说的强化HTML标识符的基本功,一个高质量高操控性的中文网站,往往取决于对细节的处理,因此我们在日常合作开发中,能考虑到用户体验,后期保护等各方面,则会产生更高效的合作开发。
时评译者简介 ( 点选 → 加入时评译者)
蓝莓城命令行:蓝莓城成立于1980年,是全球最大的命令行提供商、微软公司认证的金牌合作伙伴。
高度关注「前端大全」
看更多精选前端技术文章
↓↓↓