Maison interface Web tutoriel HTML css编写规范_html/css_WEB-ITnose

css编写规范_html/css_WEB-ITnose

Jun 24, 2016 am 11:43 AM

一、注释规范 

1、文件顶部注释(推荐使用) 

Css代码 

  1. /*  
  2. * @description: 中文说明  
  3. * @author: name  
  4. * @update: name (2013-04-13 18:32)  
  5. */  


2、模块注释 

模块注释必须单独写在一行 

Css代码 

  1. /* module: module1 by 张三 */  
  2. …  
  3. /* module: module2 by 张三 */  


3、单行注释与多行注释 

单行注释可以写在单独一行,也可以写在行尾,注释中的每一行长度不超过40个汉字,或者80个英文字符。 

Css代码 

  1. /* this is a short comment */  


多行注释必须写在单独行内 

Css代码 

  1. /*  
  2. * this is comment line 1.  
  3. * this is comment line 2.  
  4. */  


4、特殊注释 

用于标注修改、待办等信息 

Css代码 

  1. /* TODO: xxxx by name 2013-04-13 18:32 */  
  2. /* BUGFIX: xxxx by name 2012-04-13 18:32 */  


5、区块注释 

对一个代码区块注释(可选),将样式语句分区块并在新行中对其注释。 

Css代码 

    1. /* Header */  
    2. /* Footer */  
    3. /* Gallery */  

二、编码规范

 

1. tab键用(必须)四个空格代替

2. 每个样式属性后(必须)加 ";"

方便压缩工具"断句"。

3. Class命名中(禁止)出现大写字母,(必须)采用” - “对class中的字母分隔,如:

 /* 正确的写法 */ .hotel-title {     font-weight: bold; } /* 不推荐的写法 */ .hotelTitle {     font-weight: bold; }
Copier après la connexion

  • 用"-"隔开比使用驼峰是更加清晰。
  • 产品线-产品-模块-子模块,命名的时候也可以使用这种方式(@Artwl)
  • 4. 空格的使用,以下规则(必须)执行:

     .hotel-content {     font-weight: bold; }
    Copier après la connexion

  • 选择器与 { 之前(必须)要有空格
  • 属性名的 : 后(必须)要有空格
  • 属性名的 : 前(禁止)加空格
  • 一个原因是美观,其次IE 6存在一个bug, 戳bug

    5.多选择器规则之间(必须)换行

    当样式针对多个选择器时每个选择器占一行

     /* 推荐的写法 */ a.btn, input.btn, input[type="button"] {     ...... }
    Copier après la connexion

    6. (禁止)将样式写为单行, 如

    .hotel-content {margin: 10px; background-color: #efefef;}
    Copier après la connexion

    单行显示不好注释,不好备注,这应该是压缩工具的活儿~

    7. (禁止)向 0 后添加单位, 如:

    .obj {    left: 0px;}
    Copier après la connexion

    只是为了统一。记住,绿色字表强调,不表强制!

    8. (禁止)使用css原生import

    使用css原生import有很多弊端,比如会增加请求数等....


    9. 不要轻易改动全站级CSS和通用CSS库。改动后,要经过全面测试。8. 避免使用filter

    10. 避免在CSS中使用expression

    11. 避免过小的背景图片平铺,小图片(必须)sprite 合并

    12. 层级(z-index)必须清晰明确,页面弹窗、气泡为最高级(最高级为999),不同弹窗气泡之间可在三位数之间调整;普通区块为10-90内10的倍数;区块展开、弹出为当前父层级上个位增加,禁止层级间盲目攀比。

    13. 背景图片请尽可能使用sprite技术, 减小http请求, 考虑到多人协作开发, sprite按照模块、业务、页面来划分均可。

    14. (推荐)属性的书写顺序, 举个例子:

    .hotel-content {     /* 定位 */     display: block;     position: absolute;     left: 0;     top: 0;     /* 盒模型 */     width: 50px;     height: 50px;     margin: 10px;     border: 1px solid black;     / *其他* /     color: #efefef; }
    Copier après la connexion

  • 定位相关, 常见的有:display position left top float 等
  • 盒模型相关, 常见的有:width height margin padding border 等
  • 其他属性
  •   按照这样的顺序书写可见提升浏览器渲染dom的性能

    15. (推荐)当编写针对特定html结构的样式时,使用元素名 + 类名

    /* 所有的nav都是针对ul编写的 */ ul.nav {     ...... }
    Copier après la connexion

    ".a div"和".a div.b",为什么后者好?如果需求有所变化,在".a"下有多加了一个div,试问,开始的样式是不是会影响后来的div啊~

    16. (推荐)IE Hack List

     /* 针对ie的hack */ selector {     property: value;     /* 所有浏览器 */      property: value\9;   /* 所有IE浏览器 */      property: value\0;   /* IE8 */     +property: value;    /* IE7 */     _property: value;    /* IE6 */     *property: value;    /* IE6-7 */ }
    Copier après la connexion

    当使用hack的时候想想能不能用更好的样式代替

    17. (不推荐)ie使用filter,( 禁止)使用expression

    这里主要是效率问题,应该当格外注意,咱们要少用烧CPU的东西~

    18. (禁止)使用行内(inline)样式

    <p style="font-size: 12px; color: #FFFFFF">靖鸣君</p>
    Copier après la connexion

    像这样的行内样式,最好用一个class代替。又如要隐藏某个元素,可以给他加一个class

    .hide {    display: none;}
    Copier après la connexion

    尽量做到样式和结构分离~

    19. (推荐)reset.css样式

    推荐网站:http://www.cssreset.com/

    20.(禁止)使用"*"来选择元素

    /*别这样写*/* {    margin: 0;    padding: 0;}
    Copier après la connexion

    这样写是没有必要的,一些元素在浏览器中默认有margin或padding值,但是只是部分元素,没有必要将所有元素的margin、padding值都置为0。

    21. 链接的样式,(务必)按照这个顺序来书写

    a:link -> a:visited -> a:hover -> a:active
    Copier après la connexion

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    AI Hentai Generator

    AI Hentai Generator

    Générez AI Hentai gratuitement.

    Article chaud

    R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Meilleurs paramètres graphiques
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Comment déverrouiller tout dans Myrise
    3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

    L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

    Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

    L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

    Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Mar 17, 2025 pm 12:20 PM

    L'article examine les meilleures pratiques pour assurer la compatibilité des navigateurs de HTML5, en se concentrant sur la détection des fonctionnalités, l'amélioration progressive et les méthodes de test.

    Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

    L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

    Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Mar 17, 2025 pm 12:27 PM

    L'article discute de l'utilisation des attributs de validation de formulaire HTML5 comme les limites requises, motifs, min, max et longueurs pour valider la saisie de l'utilisateur directement dans le navigateur.

    Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Mar 12, 2025 pm 04:05 PM

    Cet article explique le html5 & lt; time & gt; élément de représentation sémantique de date / heure. Il souligne l'importance de l'attribut DateTime pour la lisibilité à la machine (format ISO 8601) à côté du texte lisible par l'homme, stimulant AccessIbilit

    Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Mar 20, 2025 pm 05:56 PM

    L'article traite de la balise Meta de la fenêtre, essentielle pour la conception Web réactive sur les appareils mobiles. Il explique comment une utilisation appropriée garantit une mise à l'échelle optimale du contenu et une interaction utilisateur, tandis que la mauvaise utilisation peut entraîner des problèmes de conception et d'accessibilité.

    Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

    L'article traite du & lt; iframe & gt; L'objectif de Tag dans l'intégration du contenu externe dans les pages Web, ses utilisations courantes, ses risques de sécurité et ses alternatives telles que les balises d'objet et les API.

    See all articles