Normalize.css笔记

每次写PC端的页面,最头疼的就是css兼容了,后来做的多了知道这是因为各浏览器间不一致的css渲染导致。

记得最开始写的时候(在学校时候)灰常简单粗暴,啊哈哈。直接*{margin:0;padding:0;},但是*是通配符,css所有元素都会用到,有人说属于滥用,后来看到一篇博文http://www.zhangxinxu.com/wordpress/2010/04/css-reset%E7%9A%84%E9%87%8D%E6%96%B0%E5%AE%A1%E8%A7%86-%E9%81%BF%E5%85%8D%E6%A0%B7%E5%BC%8F%E9%87%8D%E7%BD%AE/感觉确实我那样写不合适,然后实际做页面时候整理了一份css重置代码,不是很规范。

Normalize.css笔记_第1张图片

其实这样看的话,我的代码格式很不规范。嘿嘿,建议大家看看规范这部分的文档。

昨天很偶然的机会听到了Normalize.css,然后我看了看,以下是个人整理:

  1)应该有默认的字体(有些浏览器默认字体不一样)——html{ font-family:  '微软雅黑'; }

    2)body应该无margin——body{ margin: 0 }

  3)article,aside,details,figure,figcaption,footer,header,hgroup,main,menu,nav,section,smmary这些元素应该渲染为块元素——

          article,aside,details,figure,figcaption,footer,header,hgroup,main,menu,nav,section,smmary{ display: block; }

  4)audio,canvas,progress,video应以内联块和基线对齐——

     audio,canvas,progress,video{ display: inline-block;vertical-align: baseline; }

  5)audio:not([controls]),template,[hidden]不应该展示——

          audio:not([controls]){ display: none; height: 0; }

          template,[hidden]{ display: none; }

  6)a链接互动时候应该有透明背景,a标签应无默认轮廓线——

          a{ background-color: transparent;  outline:0; }

  7)abbr[title]应该有一个点的底部边界——abbr[title]{ border-bottom: 1px dotted; }

  8)b,strong应该字体加粗——b,strong{ font-weight: bold; }

  9)dfn标签可标记那些对特殊术语或短语的定义,斜体展示——dfn{ font-style: italic; }

  10)h1默认有margin-top和margin-bottom,且h1字体的大小在各浏览器下有所差异——

            h1{ font-size: 20px; margin: 10px 0; }

  11)mark突出显示部分文本,应该有个黄色背景——mark{ background: #ff0; color: #000; }

  12)small呈现小号字体效果——small{ font-size: 80%; }

  13)sub下标文本,sup上标文本。不应该影响线的视觉线高度——

            sub,

            sup {

              font-size: 75%;
              line-height: 0;
              position: relative;
              vertical-align: baseline;
            }

            sup{ top: -0.5em; }       sub{ bottom: -0.25em; }

    14)img应无边框——img{ border: 0; }

  15)svg不应该溢出——svg:not(:root) { overflow: hidden; }

  16)figure用作文档中插图的图像,应该有边框——figure{ margin: 1em 40px; }

  17)hr应该有一个内容框模板——hr{ box-sizing: content-box; height: 0; }

  18)pre标签的一个常见应用就是用来表示计算机的源代码,内容多时候有滚动条——

     pre{ overflow: auto; }

  19)code,kbd,pre,samp字体和大小应统一——

     code,kbd,pre,samp{ font-family: monospace, monospace; font-size: 1em; }

  20)button,input,optgroup,select,textarea应该继承父元素的字体颜色、字体,不应该有边框——

            button,input,optgroup,select,textarea{ color: inherit; font:inherit; margin: 0; }

  21)button应该有明显的溢出——button{ overflow: visible; }

  22)button,select不应该继承文本转换——

            button,select{ text-transform: none; }

  23)button和带有button风格的input,应该有指针光标的风格且看上去像个按钮——

            button,html input[type="button"],input[type="reset"],input[type="submit"] { -webkit-appearance: button; cursor:pointer; }

  24)不可见的button和input,应该有默认的光标样式——

            button[disabled],html input[disabled] { cursor: default;}

  25)button,input在火狐下不应该有额外的内部填充——

            button::-moz-focus-inner,input::-moz-focus-inner { border:0; padding:0; }

  26)input不应继承线高度——input { line-height: normal; }

  27)checkbox,radio有边框框模型无内边距——

            input[type="checkbox"],input[type="radio"] { box-sizing: border-box; padding: 0;}

  28)input[type="number"]显示一个默认的光标按钮的点击目标在铬(还不明白)——

            input[type="number"]::-webkit-inner-spin-button,

            input[type="number"]::-webkit-outer-spin-button { height: auto; }

  29)input[type="search"]

            Normalize.css笔记_第2张图片

            input[type="search"]::-webkit-search-cancel-button,
            input[type="search"]::-webkit-search-decoration {
              -webkit-appearance: none;
            }

  30)fieldset元素可将表单内的相关元素分组,应具有一致的border、padding和margin——

            fieldset{ border:1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

  31)legend 元素为 fieldset 元素定义标题,应继承字体颜色且无间距——

            legend{ border: 0; padding: 0; }

  32)多行文本框不应该有滚动条,除非内容很多——textarea{ overflow: auto;}

  33)表格相关:单元格间不应该有间距——

            table{ border-collapse: collapse; border-spacing: 0;}

            td,th { padding: 0;}

  34)通过 <optgroup> 标签把相关的选项组合在一起:

            ptgroup { font-weight: bold; }

你可能感兴趣的:(Normalize.css笔记)