Maison  >  Article  >  interface Web  >  partage de spécifications de code CSS

partage de spécifications de code CSS

王林
王林avant
2021-02-03 11:40:532069parcourir

partage de spécifications de code CSS

Dans le processus d'apprentissage du CSS, nous constaterons que le CSS n'est pas difficile à apprendre, mais dans les grands projets, il deviendra difficile à gérer. Différents programmeurs ont des styles d'écriture très différents, ce qui peut rendre la communication difficile lorsque l'on travaille en équipe. Par conséquent, il existe des normes d’écriture de code CSS.

1. Utilisez Réinitialiser mais pas une réinitialisation globale

Les attributs par défaut des différents éléments du navigateur sont différents. Utilisez Réinitialiser pour réinitialiser certains attributs par défaut des éléments du navigateur afin d'assurer la compatibilité du navigateur. Mais il convient de noter que veuillez ne pas utiliser la réinitialisation globale :

*{ margin:0; padding:0; }

Ce n'est pas seulement parce que c'est une méthode lente et inefficace, mais cela amène également certains éléments inutiles à réinitialiser également leurs marges et leur distance de remplissage. Il est recommandé de se référer aux pratiques de YUI Reset et d'Eric Meyer. Je partage le même point de vue qu'Eric Meyer. La réinitialisation n'est pas statique. Des modifications appropriées doivent être apportées en fonction des différents besoins du projet pour assurer la compatibilité du navigateur et la commodité opérationnelle. La réinitialisation que j'utilise est la suivante :

/** 清除内外边距 **/
body, h1, h2, h3, h4, h5, h6, hr, p,
blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td, /* table elements 表格元素 */
img/* img elements 图片元素 */{
  border:medium none;
  margin: 0;
  padding: 0;
}
/** 设置默认字体 **/
body,button, input, select, textarea {
  font: 12px/1.5 '宋体',tahoma, Srial, helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
em{font-style:normal;}
/** 重置列表元素 **/
ul, ol { list-style: none; }
/** 重置超链接元素 **/
a { text-decoration: none; color:#333;}
a:hover { text-decoration: underline; color:#F40; }
/** 重置图片元素 **/
img{ border:0px;}
/** 重置表格元素 **/
table { border-collapse: collapse; border-spacing: 0; }

2. De bonnes habitudes de dénomination

Il ne fait aucun doute qu'un code désordonné ou non sémantique rendra fou n'importe qui. Codez comme ceci :

.aaabb{margin:2px;color:red;}

Je pense que même un débutant ne nommerait pas une classe comme celle-ci dans un projet réel, mais avez-vous déjà pensé qu'un code comme celui-ci est également très problématique :

<h1>My name is <span class="red blod">Wiky</span></h1>

Le problème est que si vous devez changer toutes les polices rouges d'origine en bleues, alors le style deviendra :

.red{color:bule;}

Une telle dénomination serait très compliquée. Il est étonnant que la même barre latérale nommée .leftBar sera très gênant s'il doit être modifié en une barre latérale droite. Par conséquent, veuillez ne pas utiliser les caractéristiques de l'élément (couleur, position, taille, etc.) pour nommer une classe ou un identifiant. Vous pouvez choisir un nom significatif tel que : #navigation{...}, .sidebar{.... }, .postwrap{ ...}

De cette façon, quelle que soit la façon dont vous modifiez les styles qui définissent ces classes ou identifiants, cela n'affectera pas sa connexion avec les éléments HTML.

Il existe une autre situation. Certains styles fixes ne seront pas modifiés après avoir été définis. Vous n'avez alors pas à vous soucier de la situation qui vient d'être mentionnée lors de la nomination, comme

.alignleft{float:left;margin-right:20px;}
.alignright{float:right;text-align:right;margin-left:20px;}
.clear{clear:both;text-indent:-9999px;}

Puis pour. un tel paragraphe

<p class="alignleft">我是一个段落!</p>

Si vous devez changer ce paragraphe de l'alignement d'origine à gauche à l'alignement à droite, il vous suffit alors de modifier son nom de classe pour l'aligner à droite.

3. Abréviation de code

L'abréviation de code CSS peut améliorer la vitesse d'écriture du code et rationaliser la quantité de code. De nombreux attributs peuvent être abrégés en CSS, notamment les valeurs de marge, de remplissage, de bordure, de police, d'arrière-plan et de couleur. Si vous apprenez l'abréviation du code, le code d'origine :

li{
    font-family:Arial, Helvetica, sans-serif;
    font-size: 1.2em;
    line-height: 1.4em;
    padding-top:5px;
    padding-bottom:10px;
    padding-left:5px;
}

peut être abrégé en :

.
li{
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;
    padding:5px 0 10px 5px;
}

Si vous souhaitez en savoir plus sur la façon d'abréger ces attributs, vous pouvez vous référer au "Résumé de la syntaxe des abréviations CSS communes" ou télécharger CSS-Shorthand-Cheat-Sheet.pdf.

4. Utiliser l'héritage CSS

Si plusieurs éléments enfants de l'élément parent sur la page utilisent le même style, il est préférable de définir leurs mêmes styles sur leurs éléments parents et de les laisser en hériter. Styles CSS. De cette façon, vous pouvez bien conserver votre code et réduire la quantité de code. Ensuite, le code original comme celui-ci :

#container li{ font-family:Georgia, serif; }
#container p{ font-family:Georgia, serif; }
#container h1{font-family:Georgia, serif; }

peut être abrégé en :

#container{ font-family:Georgia, serif; }

5 En utilisant plusieurs sélecteurs

vous pouvez fusionner plusieurs sélecteurs CSS en un seul, s'ils existent. est un style courant. Cela permet non seulement de garder le code concis, mais vous permet également d'économiser du temps et de l'espace. Par exemple :

h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

peut être fusionné dans

h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }

6. Commentaires de code appropriés

les commentaires de code peuvent permettre aux autres de lire plus facilement votre code et d'organiser raisonnablement les commentaires de code , ce qui peut rendre la structure plus claire. Vous pouvez choisir d'ajouter un répertoire au début de la feuille de style :

/*------------------------------------
    1. Reset
    2. Header
    3. Content
    4. SideBar
    5. Footer
  ----------------------------------- */

De cette façon, la structure de votre code sera claire en un coup d'œil, et vous pourrez facilement retrouver et modifier le code.

Le contenu principal du code doit également être divisé de manière appropriée, et le code doit même être commenté si nécessaire, ce qui est également propice au développement de l'équipe :

/***    Header  ***/
#header{ height:145px; position:relative; }
#header h1{ width:324px; margin:45px 0 0 20px; float:left;  height:72px;}
 
/***    Content ***/
#content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;}
#content h1{color:#F00}/* 设置字体颜色 */
#content .posts{ overflow:hidden; }
#content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }
 
/***    Footer  ***/
#footer{ clear:both; padding:50px 5px 0; overflow:hidden;}
#footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }

7. Triez votre Code CSS

Si les propriétés du code peuvent être triées par ordre alphabétique, il sera plus rapide de trouver les modifications :

/*** 样式属性按字母排序 ***/
div{
    background-color:#3399cc;
    color:#666;
    font:1.2em/1.4em Arial, Helvetica, sans-serif;
    height:300px;
    margin:10px 5px;
    padding:5px 0 10px 5px;
    width:30%;
    z-index:10;
}

8. Gardez le CSS lisible

L'écriture lisible CSS facilitera la recherche et la modification des styles. Je pense qu'il est évident lequel des deux cas suivants est le plus lisible.

/*** 每个样式属性写一行 ***/
div{
    background-color:#3399cc;
    color:#666;
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;
    height:300px;
    margin:10px 5px;
    padding:5px 0 10px 5px;
    width:30%;
    z-index:10;
}
 
/*** 所有的样式属性写在同一行 ***/
div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif;  height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }

Quand il s'agit de certains sélecteurs avec moins d'attributs de style, j'écrirai une ligne :

/*** 选择器属性少的写在同一行 ***/
div{ background-color:#3399cc; color:#666;}

Il n'y a pas de règle absolue pour cette règle, mais quelle que soit la façon dont vous l'utilisez , ma suggestion est de toujours garder votre code cohérent. S'il y a plusieurs attributs, écrivez-les sur des lignes séparées. S'il y a moins de 3 attributs, vous pouvez écrire une seule ligne.

9. Choisissez de meilleures valeurs d'attribut de style

Certains attributs en CSS utilisent des valeurs d'attribut différentes, bien que l'effet soit similaire, il existe des différences de performances, telles que

. La différence est que border:0 définit la bordure sur 0px Bien qu'elle ne soit pas visible sur la page, selon la valeur par défaut de border, le navigateur restitue toujours border-width/border-color, c'est-à-dire que la valeur en mémoire a été. occupé.

Et border:none définit la bordure sur "none", ce qui signifie qu'il n'y a pas de bordure. Lorsque le navigateur analyse "none", il n'effectuera aucune action de rendu, c'est-à-dire qu'il ne consommera pas de valeurs de mémoire. . Par conséquent, il est recommandé d'utiliser border:none;

De même, display:none le navigateur d'objets cachés ne restitue pas et n'occupe pas de mémoire. Et visibilité : volonté cachée.

10. 使用2cdf5bf648cf2f33323966d7f58a7f3f代替@import

首先,@import不属于XHTML标签,也不是Web标准的一部分,它对于较早期的浏览器兼容也不高,并且对于网站的性能有某些负面的影响。具体可以参考《高性能网站设计:不要使用@import》。所以,请避免使用@import

11. 使用外部样式表

这个原则始终是一个很好的设计实践。不单可以更易于维护修改,更重要的是使用外部文件可以提高页面速度,因为CSS文件都能在浏览器中产生缓存。内置在HTML文档中的CSS则会在每次请求中随HTML文档重新下载。所以,在实际应用中,没有必要把CSS代码内置在HTML文档中:

<style type="text/css" >
    #container{ .. }
    #sidebar{ .. }
</style>

<li style="font-family:Arial, helvetica, sans-serif; color:#666; " >

而是使用2cdf5bf648cf2f33323966d7f58a7f3f导入外部样式表:

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

12. 避免使用CSS表达式(Expression)

CSS表达式是动态设置CSS属性的强大(但危险)方法。Internet Explorer从第5个版本开始支持CSS表达式。下面的例子中,使用CSS表达式可以实现隔一个小时切换一次背景颜色:

background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );

如上所示,expression中使用了JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。

表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。

如果必须使用CSS表达式,一定要记住它们要计算成千上万次并且可能会对你页面的性能产生影响。所以,在非不得已,请避免使用CSS表达式。

13. 代码压缩

当你决定把网站项目部署到网络上,那你就要考虑对CSS进行压缩,出去注释和空格,以使得网页加载得更快。压缩您的代码,可以采用一些工具,如YUI Compressor

利用它可精简CSS代码,减少文件大小,以获得更高的加载速度。

相关推荐:CSS教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer