html5+CSS3的编码规范

HTML5+CSS3的编码规范是为了达到一份整洁、易读、易维护的代码目标而制定的。在此分享一份完整攻略:

HTML部分

1. 文档声明

<!DOCTYPE html>

统一使用HTML5的文档声明方式,且在html标签中不需要再写上版本信息,即:<html>而非<html lang="zh-cn">

2. 缩进及排版

统一使用四个空格,而不是Tab键。

对于HTML自身标签,一般只写开始标签。

对于自闭合标签,不需要写/。

对于多重嵌套标签,需要在每一层进行缩进。

<div>
    <p>这是一段文字</p>
</div>

3. 标签及属性命名

标签名和属性名使用小写字母,多个单词均以短横线分隔。

<div class="container">
    <img src="image.jpg" alt="图片">
</div>

4. 引入CSS、JavaScript、Icon等

引入的CSS及JavaScript需要写在页面底部。

引用外部资源的时候,需要写入完整的URL。

对于自定义Icon等,建议使用SVG或字体图标等方式,而不是使用<img>标签。

<head>
    <link rel="stylesheet" href="normalize.css">
</head>
<body>
    <!-- 页面代码 -->
    <script src="script.js"></script>
</body>

5. 表单元素

对于表单元素,需要为每个元素添加for属性,结合label标签,提高用户体验。

对于单选、多选、下拉列表等需要使用<select>标签时,需要使用<option>标签来包裹每一个选项。

<form>
    <label for="username">用户名:</label><input type="text" id="username">
    <br>
    <label for="gender_male">性别:</label><input type="radio" name="gender" id="gender_male">男
    <label for="gender_female"><input type="radio" name="gender" id="gender_female">女</label>
    <br>
    <label for="area">地区:</label>
    <select id="area">
        <option value="1">北京</option>
        <option value="2">上海</option>
    </select>
</form>

CSS部分

1.文档类型及引入方式

同样要以text/css作为文档类型。

CSS文件需通过link标签引入,而不是使用@import方式。

引入时应使用相对路径,避免使用绝对路径。

<head>
    <link rel="stylesheet" href="style.css" type="text/css">
</head>

2. 使用ID、Class及命名规范

ID选择器建议只用于唯一元素的样式控制。

尽量使用Class选择器。

Class命名应该使用有意义的、表述性强的名称,命名要具有可读性,在单词之间使用连字符(如.page-title)。

3. 属性顺序及书写规范

建议按照以下顺序书写属性:

  1. 布局相关属性:display、position、top、right、bottom、left、float、clear、margin、padding、width、height;
  2. 背景相关属性:background、background-image、background-color、background-repeat、background-position;
  3. 字体相关属性:font-size、font-family、font-weight、line-height、text-align、text-indent、text-decoration;
  4. 边框相关属性:border、border-color、border-style、border-width;
  5. 填充相关属性:outline、box-shadow、text-shadow;
  6. 其他属性:color、list-style、transition等。

属性选择器中,属性名和属性值之间要加一个空格。

属性值使用双引号也可以使用单引号,但不建议使用无引号情况。

4. 注释规范

注释建议放在特定样式声明上方,而非在末尾。

每个注释行前需要使用两个星号(**)及一个空格分隔。

注释内容尽量简洁明了,要有可读性。

注释中不得出现敏感信息。

/* header */
header {
    margin: 0;
    padding: 0;
}

/* page wrapper */
.page-wrapper {
    display: block;
    width: 100%;
}

以上便是html5+CSS3代码规范的完整攻略,以下是两个代码示例:

示例1

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>示例1</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header>
        <div class="container">
            <h1 class="logo">logo</h1>
            <ul class="nav">
                <li><a href="#">导航1</a></li>
                <li><a href="#">导航2</a></li>
                <li><a href="#">导航3</a></li>
            </ul>
        </div>
    </header>
</body>
</html>
/* Reset */
* {
    margin: 0;
    padding: 0;
}

/* Global */
body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem;
    background: #f5f5f5;
    color: #222;
}
.container {
    width: 960px;
    margin: 0 auto;
    overflow: hidden;
}

/* Header */
header {
    background: #fff;
    border-bottom: 1px solid #dcdcdc;
    padding: 20px 0;
}
.logo {
    float: left;
    font-size: 2rem;
    margin-right: 20px;
}
.nav {
    float: right;
    list-style: none;
}
.nav li {
    float: left;
    margin-left: 30px;
}
.nav li a {
    color: #444;
    text-decoration: none;
}

示例2

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>示例2</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <h1 class="page-title">新闻详情</h1>
        <div class="news-content">
            <div class="thumb">
                <img src="https://via.placeholder.com/320x180.png?text=图片" alt="图片">
            </div>
            <div class="desc">
                <p class="date">2022.09.20</p>
                <h2 class="news-title">标题</h2>
                <p class="news-abstract">简介简介简介简介简介简介简介简介</p>
                <p class="news-body">
                    正文正文正文正文正文正文正文
                    正文正文正文正文正文正文正文
                    正文正文正文正文正文正文正文
                </p>
            </div>
        </div>
    </div>
</body>
</html>
/* Global */
body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1rem;
}

/* Container */
.container {
    width: 960px;
    margin: 0 auto;
    overflow: hidden;
}

/* Page Title */
.page-title {
    margin: 20px 0;
}

/* News Content */
.thumb {
    float: left;
    margin-right: 20px;
}
.thumb img {
    display: block;
    width: 100%;
}
.desc {
    width: 680px;
    float: left;
}
.news-title {
    margin: 10px 0;
    font-size: 2rem;
}
.news-body {
    margin-top: 10px;
    line-height: 1.7;
}
.news-body p {
    margin-bottom: 10px;
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:html5+CSS3的编码规范 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • JS时间戳转换为常用时间格式的三种方式

    下面我将详细介绍JS时间戳转换为常用时间格式的三种方式。 1. 使用JavaScript内置方法 JavaScript内置了Date对象,并提供了很多与时间相关的方法,可以通过以下代码将时间戳转换为常用时间格式: function timestampToTime(timestamp) { const date = new Date(timestamp * 1…

    JavaScript 2023年5月27日
    00
  • vue3的api解读之ref和reactive示例详解

    下面是针对“vue3的api解读之ref和reactive示例详解”的完整攻略: 1. 什么是 ref 和 reactive? ref: 用来创建一个响应式对象,它会返回一个带有 value 属性的对象,这个 value 属性可以自动更新页面。 reactive:用来创建一个响应式对象,它会将对象中所有属性都转化为响应式数据,任何一个属性发生变化都能触发相应…

    JavaScript 2023年6月11日
    00
  • xml转json的js代码

    XML转JSON是开发过程中常见的问题,有时候需要将后端返回的XML数据转换为前端需要的JSON格式。以下是XML转JSON的JS代码的详细攻略: 一、XML转JSON的原理 XML和JSON是两种不同的数据格式,因此需要编写代码将XML转换为JSON格式。XML数据以标签为基础,有嵌套的结构关系,而JSON数据则以键值对为基础,没有嵌套的结构关系。因此,将…

    JavaScript 2023年5月27日
    00
  • js使用文件流下载csv文件的实现方法

    要实现通过 JavaScript 使用文件流下载 CSV 文件可以按以下步骤进行: 第一步:构造数据 首先需要将要下载的 CSV 文件内容组织成符合格式的数据,可以使用字符串拼接或者使用第三方库生成: const data = [ [‘姓名’, ‘性别’, ‘年龄’], [‘张三’, ‘男’, ’20’], [‘李四’, ‘女’, ’22’], [‘王五’,…

    JavaScript 2023年5月27日
    00
  • JavaScript自定义超时API代码实例

    让我来详细讲解“JavaScript自定义超时API代码实例”的攻略。 简介 JavaScript 是一种非常强大的脚本语言,它可以在网页上实现丰富的交互效果。但是,在某些特定的场景中,我们需要实现一些异步操作,然而又需要限制它的执行时间,这个时候就需要使用超时 API 来解决了。JavaScript 提供了一个超时机制,我们可以在一段时间内等待一个异步操作…

    JavaScript 2023年6月11日
    00
  • Javascript读取上传文件内容/类型/字节数

    下面是Javascript读取上传文件内容/类型/字节数的完整攻略。 1. 读取上传文件类型 实现读取上传文件类型的方法,可以使用HTML5标准中的File API。通过File API,可以使用JS访问用户选择的本地文件。 以下是一个使用File API的示例代码: const fileInput = document.getElementById(‘fi…

    JavaScript 2023年5月27日
    00
  • 整理Javascript流程控制语句学习笔记

    下面为你详细讲解“整理Javascript流程控制语句学习笔记”的完整攻略。 攻略概述 本攻略旨在帮助读者更好地理解和掌握Javascript中的流程控制语句,涵盖以下内容: 分类介绍Javascript中的流程控制语句。 详细讲解Javascript中每种流程控制语句的用法、语法和示例。 给出实际例子,帮助读者理解流程控制语句的应用场景。 提供学习Java…

    JavaScript 2023年5月27日
    00
  • JavaScript块级作用域绑定的实现流程

    JavaScript的块级作用域绑定是ES6中新增的特性,它使得变量声明可以仅在块级作用域中起作用,可以避免因变量定义不当所出现的一些各种问题。块级作用域是指一对花括号”{ }”之间的区域,这种变量称为块级作用域变量。 实现块级作用域绑定的流程主要依靠let和const关键字这两个特性。let关键字声明的变量只在声明位置所在的块级作用域内有效,const关键…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部