<style>
li { display: inline-block; }
</style>
<ul>
<li>1</li>
<li>2</li>
</ul>
<ul>
<li>1
<li>2
</ul>
<div>
<img src="eleme.png" alt="饿了么" />
</div>
<input type="text" />
<hr/>
<input type="checkbox" checked />
<script src="···" async defer></script>
<a>
必须有 href
属性,如果用不到可以置为 href="javascript:"
。href
不是可选属性,只是浏览器能解析而已。input
(<input type="button">
、 <input type="submit">
)来代替 button
input
只设置 height
属性的话,在 safari
和 chrome
下并不会出现意料中的样式。另外,button
可以内嵌 HTML,实现更灵活的结构,如:带图标的按钮。<!DOCTYPE html>
作为唯一的 DTD。<meta charset="UTF-8" />
指定文件编码。charset
即可,不需要 Content-Type
。<title>
,并尽可能地在不同页面使用不同的标题。<!-- 禁止 -->
<dl>
<dt>...</dt>
<ul>
<li>...</li>
</ul>
</dl>
<!-- 允许 -->
<dl>
<dt>...</dt>
<dd>
<ul>
<li>...</li>
</ul>
</dd>
</dl>
<!-- 不建议 -->
<button id="btn" onclick="onBtnClick()">ELE</button>
<script>
var onBtnClick=function() {
// ...
};
// 不建议
btn.onclick = onBtnClick;
</script>
但是,addEventListener
/ attachEvent
需要做兼容处理,推荐使用框架封装。
// jQuery 方案
$("#btn").click(function() {
// ...
});
<!-- Angular 方案 -->
<button id="btn" ng-click="onBtnClick()">ELE</button>
<!-- 不推荐 -->
<button id="btn" ng-click="'此处省略100字'">ELE</button>
<!-- 推荐 -->
<button id="btn" ng-click="onBtnClick()">ELE</button>
module.controller('foo', ['$scope', function($scope) {
// ...
$scope.onBtnClick = function() {
'此处省略100字';
};
}]);
alt
属性。title
属性。<audio>这是一段神奇的音效</audio>
<canvas>这是一个神奇的效果</canvas>
<iframe src="http://ele.me">这是 ele.me 的首页</iframe>