zoukankan      html  css  js  c++  java
  • 高质量的HTML+CSS。

    1、先确定HTML,确定意义的标签,再选择使用合适的CSS。

    2、判断网页标签是否良好的方法:去掉样式,看网页结构是否组织良好有序,是否仍然具有很好的可读性。——CSS裸体日(4月5日)。

    3、表单域要用fieldset标签包起来,并用legend表情说明用途。

    4、页面最开始处需要进行DTD(文档类型声明)声明,IE则会触发怪异模式。

    5、CSS样式可分为:page.css(具体某一个页面的样式),common.css(模块化的css样式,针对不同的对象,例如表单,图片列表等),base.css(底层原子类,即最细化到元素的样式,例如:文字排版,定位,长度,高度,边距等)三大层次。

    View Code

    6、CSS的模块划分时候,模块之间尽量不包含相同部分,如具有相同部分,尽量拆分成独立的模块。模块在保证数量少的原则下,尽可能做到简单,以提高重用性。

    7、CSS的命名,尽量选用适合的英文单词,提高阅读性及维护性,一般采用驼峰命名方法,下划线隔开。

    8、多用组合,少用继承。

    View Code
     1 <style type="text/css">
     2 .list1{font-size:12px; boder:1px solid #ccc;padding:1px;}
     3 .list1 li { height:20px;line-height:20px;}
     4 .list2{font-size:16px; boder:1px solid #ccc;padding:1px;}
     5 .list2 li { height:20px;line-height:20px;color:red;}
     6 </style>
     7 <body>
     8 <ul class="list1">
     9   <li>1</li>
    10   <li>2</li>
    11   <li>3</li>
    12 </ul>
    13 <ul class="list2">
    14   <li>1</li>
    15   <li>2</li>
    16   <li>3</li>
    17 </ul>
    18 </body>
    19 
    20 
    21 
    22 
    23 /*优化后代码*/
    24 <style type="text/css">
    25 .f12{font-size:12px;}
    26 .f16{font-size:16px;}
    27 .red{color:red;}
    28 .list{ boder:1px solid #ccc;padding:1px;}
    29 .list li { height:20px;line-height:20px;}
    30 </style>
    31 <body>
    32  <ul class="list f12">
    33   <li>1</li>
    34   <li>2</li>
    35   <li>3</li>
    36 </ul>
    37 <ul class="list f12 red">
    38   <li>1</li>
    39   <li>2</li>
    40   <li>3</li>
    41 </ul>
    42 </body>

    9、避免滥用自选择器,Css选择符具有不同的权重,当不同选择符的样式设置有冲突时候,会采用权重较高的选择符样式。为保证样式容易被覆盖,提高可维护性,css选择符保证权重尽可能低。

    View Code
     1 <style type="text/css">
     2 span{font-size:40px;}
     3 .text{color:red;}
     4 </style>
     5 
     6 <span class="test">111</span>
     7 
     8 /*CSS层叠有冲突的情况*/
     9 <style type="text/css">
    10 span{font-size:40px;color:green;}
    11 .text{color:red;}
    12 </style>
    13 
    14 <span class="test">111</span>

    最终的结果会是green,因为span的权重较低。

    权重的规则是:HTML标签的权重为1,class的权重是10,di的权重是100。

    所以以上代码的结果是green,因为span的权重为1,而test的权重是10。

    10、使用CSS sprite,避免因为需要图片较多,从而发送多次HTTP请求,占用服务器性能。sprite指的是,通过图片翻转技术,将多张图片合并为一张,利用 background-position 属性来展示需要的图片。

    sprete注意点:1、sprite只能用于背景图片,对于<img src="">设置的图片,不能合并到到 sprite 的图中,如果合并将会影响页面的可读性。

           2、对于横向和纵向平铺的图片,不能使用sprite;如果横行平铺,只能将所有横向平铺的图合并成,只能竖直排列,不能水平排列。如果纵向平铺,只能将所有纵向平铺的突破合并,只能水平排列,不能竖直排列。            

                        3、CSS sprite 技术醉倒的好处是减少http请求数,减轻服务器压力,需要付出 ,降低开发效率,增大开发难度 的代价,适用于网站流量较大的网站。

    11、id,class选择符的选用,id不能重用,对网页的扩展性有影响。对于重用较多的模块,可选用class作为选择符。所以一般建议使用class。

    12、CSS hank  于不同的浏览器,比如 IE 6,IE 7,Mozilla Firefox、Chrome等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。 这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。

     IE条件注释法:   View Code             

    13、hasLayout 与影响IE与Firefox等浏览器显示不同的重要属性。

    14、块级元素与行内元素的区别。常见的块级元素:div、p、form、ul、ol、li等,常见的行级元素:span、strong、em等。

    一般块级元素会独自占用一行,同时宽度自动填满其父级元素的宽度。行及元素则不会独占一行,与行内元素排列在同一行中,宽度也随着元素的内容而变化。

    15、position:relative,position:absolute,position:可以改变元素在文档流中的位置。影响  left  right   top bottom 及z-index的激活情况。一般所有元素均在z-index:0这一层。

    16、居中:水平居中:text-align:center可以实现文本,图片等行内元素的居中。块级元素则使用 margin -left及margin-right:auto进行居中。

                   垂直居中:父级元素不确定高度的垂直居中,一般采用给父级元素设置相同的上下边距实现。

                                 单行文本可以使用 line - height 进行设置。多行文本居中使用 vertical-align  (作用于td,th时候,不支持div,p等块级元素。可以使用 display:table-cell;  仅限IE8。 )

    17、z-index,z-index越大则元素位置越靠上。flash则可以设置 wmode属性,分别有 window(窗口),poaque(非窗口不透明),transparent(非窗口透明)。

  • 相关阅读:
    我的2019,探索在路上
    深度学习-TensorFlow2.0笔记(一)
    机器学习笔记(二)
    机器学习笔记(一)
    SQL注入分类以及联合查询回显注入
    数据库基础概念
    SQL注入原理、常见思路之Access手工注入实战
    OWASP top 10 2017
    HTTP协议及burp基本使用
    web系统架构
  • 原文地址:https://www.cnblogs.com/diaosizhang/p/3072742.html
Copyright © 2011-2022 走看看