1.说一说你平时写代码遵守的编码规范
HTML常用规范:
- 使用 4 个空格做为一个缩进层级,不允许使用 2 个空格 或 tab 字符。
- class 必须单词全字母小写,单词间以 - 分隔。
- 对于无需自闭合的标签,不允许自闭合,例如input、br、img、hr等
- 对 HTML5 中规定允许省略的闭合标签,不允许省略闭合标签。
- 使用 HTML5 的 doctype 来启用标准模式,建议使用大写的 DOCTYPE。
- 页面必须使用精简形式,明确指定字符编码。指定字符编码的 meta 必须是 head 的第一个直接子元素。
- 页面必须包含 title 标签声明标题。title 必须作为 head 的直接子元素,并紧随 charset 声明之后。
- 有文本标题的控件必须使用 label 标签将其与其标题相关联。<label><input type="checkbox" name="confirm" value="on"> 我已确认上述条款</label>。
9.嵌套元素应当缩进一次(即两个空格)。
CSS常用规范:
- 选择器 与 { 之间必须包含空格。
- 属性名 与之后的 : 之间不允许包含空格, : 与 属性值 之间必须包含空格。
- 列表型属性值 书写在单行时,, 后必须跟一个空格。font-family: Arial, sans-serif;
- 每行不得超过 120 个字符,除非单行不可分割。
- 当一个 rule 包含多个 selector 时,每个选择器声明必须独占一行。
- >、+、~ 选择器的两边各保留一个空格。
- 属性定义必须另起一行。
- 属性定义后必须以分号结尾。
- 文本内容必须用双引号包围。
- 当数值为 0 - 1 之间的小数时,省略整数部分的 0。
- 长度为 0 时须省略单位。
- 颜色值可以缩写时,必须使用缩写形式。
- 颜色值不允许使用命名色值。
其他建议规范:编码规范
2.垂直居中有几种实现方式,给出代码范例
上下padding相等
绝对定位实现居中
vertical-align垂直居中
table-cell垂直居中
单行文本line-height垂直居中