土拨鼠实用笔记 11/22/2022 1:17:35 PM 字数:2522 阅读:91

饿了么风格指南 - HTML 代码风格

基本设置

统一符号

可省略部分

<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>

最佳实践

声明相关

结构相关

<!-- 禁止 -->
<dl>
  <dt>...</dt>
  <ul>
    <li>...</li>
  </ul>
</dl>

<!-- 允许 -->
<dl>
  <dt>...</dt>
  <dd>
    <ul>
      <li>...</li>
    </ul>
  </dd>
</dl>

DOM 相关

<!-- 不建议 -->
<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字';
  };
}]);

其它建议

<audio>这是一段神奇的音效</audio>
<canvas>这是一个神奇的效果</canvas>
<iframe src="http://ele.me">这是 ele.me 的首页</iframe>
实用笔记
土拨鼠共享的笔记