zoukankan      html  css  js  c++  java
  • CSS reset ---- 个人理解与惯用方式

    刚开始学习时,朋友发过我一个reset.css文件,当时觉得,咦,竟然有这种前人总结的好东西,但到使用时尤其是工作中发现,基本没必要,纯粹增加代码量,过于累赘冗余,拖低性能。

      CSS reset的不足:白白增加了CSS文件的大小,在单一页面尤其明显;很多时候根本没必要进行CSS reset,因为在你编程时,大部分样式都会被覆盖重写;
    最严重的就是平白无故增加了很多CSS的渲染,尤其是 *{margin: 0;padding: 0;}。

    我现在所遵循的CSS样式编写原则:
    -最少的CSS代码,最少的渲染,最少的重置就是最好的CSS样式代码,这反应了您的CSS层次。----张鑫旭
    -不同浏览器下标签的属性差异大都极小,想解决这类兼容性问题也不必一定要通过CSS reset的方式。在需要重置时再灵活运用,更为直接高效。
    -相比ul, ol {padding: 0;} #title ul {padding-top: 20px;}而言,#title ul{padding: 20px 0 0 0;}避免了上方padding值与可能不会用到的ol标签的重置。
    -在所谓的CSS reset文件里,恰好是很多需要的不需要的一堆标签都有,在有需要时再重置,可以有效避免增加CSS文件大小与渲染。

    目前自己总结的reset,如果你真的就是在用的时候记不住哪些需要重置,可参考如下:
    body, ol, ul, dl, dd, h1, h2, h3, h4, h5, h6, p, form, textarea {margin:0;}
    ol, ul, th, td, textarea, select, option {padding:0;}

    举例,里面的像是select,option标签,如果页面没用到的,就不应该多此一举进行CSS reset。

    相比以下一长串,优化很多,大部分的其实自己测试一下就知道了,有的根本就没有margin和padding值,比如div,li等等,不知道此画蛇添足之举是为何。太打脸( ̄ε(# ̄)。
    正如前者所言,即使它只多增0.1秒的载入时间差异,对互联网尤其金融企业的收益影响也是巨大的。
    body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, button, textarea, p, th, td { margin: 0;padding: 0; }
    自己用的,不管是html,css还是javascript里简单的一行代码,都应该清楚的知道它为何存在,有何价值,是否多余。

    大神总结供参考的重置设置如下:【切勿照搬,多为累赘多余无用代码,不利于性能优化。】

    html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; } body { line-height:1; } :focus { outline: 1; } article,aside,canvas,details,figcaption,figure, footer,header,hgroup,menu,nav,section,summary { display:block; } nav ul { list-style:none; } blockquote, q { quotes:none; } blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; } a { margin:0; padding:0; border:0; font-size:100%; vertical-align:baseline; background:transparent; } ins { background-color:#ff9; color:#000; text-decoration:none; } mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; } del { text-decoration: line-through; } abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; } table { border-collapse:collapse; border-spacing:0; } hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; } input, select { vertical-align:middle; }


    有关于这方面兴趣的朋友还可了解下
    normalize.css。

    本文包含的HTML5 CSS reset内容来自:[http://html5reset.org/]
    以及
    张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]。
    仅供参考,建议根据具体情况合理编写。
  • 相关阅读:
    UOJ168. 【UR #11】元旦老人与丛林
    luogu3308,LOJ 2196 [SDOI2014]LIS
    CF1349F2. Slime and Sequences (Hard Version)
    6210. wsm
    欧拉数学习小记
    CF1508F. Optimal Encoding
    CF1508C. Complete the MST
    联合省选2021 游记
    一. Docker介绍
    Elasticsearch
  • 原文地址:https://www.cnblogs.com/GarnetWang/p/6716145.html
Copyright © 2011-2022 走看看