html5+CSS3的编码规范

yizhihongxing

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日

相关文章

  • 关于JavaScript回调函数的深入理解

    关于JavaScript回调函数的深入理解 什么是回调函数 回调函数是一种在JavaScript中常见的编程模式。它是一个函数,可以作为参数传递给其他函数,以便在其他函数完成之后执行。虽然它非常实用,但许多初学者仍然对回调函数感到困惑。 当我们在使用 JavaScript 编写异步代码时,比如在进行 Ajax 请求时,我们不能直接通过在代码中写入“等待服务器…

    JavaScript 2023年6月10日
    00
  • Javascript实现数组中的元素上下移动

    下面是“Javascript实现数组中的元素上下移动”的完整攻略: 1. 实现思路 首先需要获取要移动的元素和移动方向; 然后通过数组中splice方法实现元素位置的上移或下移; 最后需要对移动后的新数组进行操作。 2. 具体实现 2.1 上移元素 function arrayMoveUp(arr, index) { if (index == 0) { re…

    JavaScript 2023年5月27日
    00
  • JS写XSS cookie stealer来窃取密码的步骤详解

    对于网站作者来说,XSS攻击是一项常见的安全威胁。恶意攻击者可以在网站上注入恶意代码,窃取用户的敏感信息,例如cookie、密码等。下面是一个XSS攻击的示例:使用JavaScript编写一个cookie stealer,当用户访问页面时,将用户的cookie信息发送到黑客的服务器上。下面是攻击的具体步骤: 定义cookie stealer <scri…

    JavaScript 2023年6月11日
    00
  • JavaScript基础知识及常用方法总结

    JavaScript是一种强大的脚本语言,广泛应用于Web开发。在学习JavaScript时,掌握一些基础知识以及常用方法非常重要。下文将详细讲解JavaScript基础知识及常用方法总结的完整攻略。 1. JavaScript的基础知识 1.1 数据类型 JavaScript有6种基本数据类型,分别为:字符串(string)、数字(number)、布尔(b…

    JavaScript 2023年5月17日
    00
  • JavaScript操作文件_动力节点Java学院整理

    JavaScript操作文件攻略 在JavaScript中,我们可以使用File API来操作文件,包括读取、写入、删除等操作。本攻略将为您提供完整的JavaScript操作文件方案。 读取文件 我们可以使用FileReader对象来读取文件中的内容。以下是读取文件的示例代码: const fileInput = document.getElementByI…

    JavaScript 2023年5月27日
    00
  • 最通俗易懂的javascript变量提升详解

    最通俗易懂的Javascript变量提升详解 什么是变量提升 变量提升是Javascript的一种默认行为,指在代码执行期间,Javascript将变量和函数声明提升到它们所在作用域的顶部,以便能够访问它们。这意味着可以在声明之前使用变量或函数。 变量提升的情况 Javascript中有两种类型的声明:变量声明和函数声明。这两种声明在变量提升时会被解析并移动…

    JavaScript 2023年6月11日
    00
  • JavaScript判断对象是否为数组

    当我们需要判断一个对象是否为数组时,JavaScript提供了多种方法来实现。 方法一:使用Array.isArray方法 Array.isArray可以判断传入的参数是否为数组,返回值为布尔型。 示例一: const arr = [1, 2, 3]; const notArr = ‘not an array’; console.log(Array.isAr…

    JavaScript 2023年5月27日
    00
  • JS实现禁止高频率连续点击的方法【基于ES6语法】

    请看下面的攻略。 1. 什么是高频率连续点击? 高频率连续点击指的是用户快速重复点击同一个元素,造成了不必要的请求和操作。这种操作往往影响用户体验和页面性能,在开发中需要避免。 2. 基于ES6语法实现禁止高频率连续点击的方法 在ES6语法中,我们可以使用Promise来实现禁止高频率连续点击的方法。具体实现方式如下: 首先,在点击事件发生时,我们需要创建一…

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