推荐几款主流的Css Reset

CSS Reset

推荐几款主流的Css Reset_第1张图片

CSS Reset(CSS重置)是一种技术,用于消除不同浏览器之间默认样式的差异,以确保网页在各个浏览器中的显示一致性。由于不同浏览器对元素的默认样式有所不同,使用CSS Reset可以将这些默认样式归零或统一,从而为开发者提供一个干净的起点来构建自定义样式。

CSS Reset通常包含一系列CSS规则,用于将HTML元素的属性值重置为一致的初始状态。这些规则可能会将边距、内边距、字体大小、行高等属性设置为相同的值,以消除浏览器之间的差异。

常见的CSS Reset方法包括使用Normalize.css和Eric Meyer’s Reset CSS。Normalize.css是一个广泛使用的CSS Reset库,它通过保留有用的默认样式,并纠正浏览器之间的差异,提供了一致的跨浏览器体验。Eric Meyer’s Reset CSS则是经典的CSS Reset方法之一,它将大部分HTML元素的样式重置为零,并提供了一个基本的布局起点。

在使用CSS Reset时,需要注意以下几点:

  1. 了解选择的CSS Reset方法的具体实现和影响。
  2. 将CSS Reset文件在其他样式文件之前引入,以确保样式重置生效。
  3. 注意可能会影响到已有样式的问题,需要在项目中进行适当的测试和调整。

CSS Reset是一种消除浏览器默认样式差异的技术,它可以为开发者提供一个一致的起点来构建网页样式,并改善跨浏览器的兼容性。

更多精彩内容,请微信搜索“前端爱好者戳我 查看

常用的 Css Reset

Eric Meyer’s “Reset CSS”(重置的很极端)

官方网址:https://meyerweb.com/eric/tools/css/reset/

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

HTML5 Doctor CSS Reset

官方网址:http://html5doctor.com/html-5-reset-stylesheet/


/** 
* html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/) 
* Richard Clark (http://richclarkdesign.com) 
* http://cssreset.com 
*/

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:;
	padding:;
	border:;
	outline:;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display:block;
}
nav ul {
	list-style:none;
}
blockquote,q {
	quotes:none;
}
blockquote:before,blockquote:after,q:before,q:after {
	content:'';
	content:none;
}
a {
	margin:;
	padding:;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
/* change colours to suit your needs */ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
/* change colours to suit your needs */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;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:;
}
/* change border colour to suit your needs */hr {
	display:block;
	height:1px;
	border:;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:;
}
input,select {
	vertical-align:middle;
}

Yahoo! (YUI 3) Reset CSS(推荐)

官方网址:http://developer.yahoo.com/yui/3/cssreset/

/** * YUI 3.5.0 - reset.css (http://developer.yahoo.com/yui/3/cssreset/) 
* http://cssreset.com 
* Copyright 2012 Yahoo! Inc. All rights reserved. 
* http://yuilibrary.com/license/ 
*//*    TODO will need to remove settings on HTML since we can't namespace it.    TODO with the prefix,should I group by selector or property for weight savings?
*/

html {
	color:#000;
	background:#FFF;
}
/* TODO remove settings on BODY since we can't namespace it.
*//*    TODO test putting a class on HEAD.        
- Fails on FF. 
*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
	margin:;
	padding:;
}
table {
	border-collapse:collapse;
	border-spacing:;
}
fieldset,img {
	border:;
}
/*    TODO think about hanlding inheritence differently,maybe letting IE6 fail a bit...*/
address,caption,cite,code,dfn,em,strong,th,var {
	font-style:normal;
	font-weight:normal;
}
ol,ul {
	list-style:none;
}
caption,th {
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
q:before,q:after {
	content:'';
}
abbr,acronym {
	border:;
	font-variant:normal;
}
/* to preserve line-height and selector appearance */
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}
input,textarea,select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
/*to enable resizing for IE*/
input,textarea,select {
	*font-size:100%;
}
/*because legend doesn't inherit in IE */
legend {
	color:#000;
}
/* YUI CSS Detection Stamp */#yui3-css-stamp.cssreset {
	display:none;
}

使用通用选择器“*”

* {
    margin: 0;
    padding: 0;
}

Normalize.css(推荐,因为重置较为标准化,不是很极端)

官方网址:http://necolas.github.io/normalize.css/

  • normalize.css:保护了有价值的默认值
  • normalize.css:修复了浏览器的bug
  • normalize.css:是模块化的
  • normalize.css:拥有详细的文档
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
 
/* Document
   ========================================================================== */
 
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}
 
/* Sections
   ========================================================================== */
 
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
 
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
 
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
 
/* Grouping content
   ========================================================================== */
 
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}
 
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
 
/* Text-level semantics
   ========================================================================== */
 
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
 
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}
 
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
 
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
 
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
 
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
 
sub {
  bottom: -0.25em;
}
 
sup {
  top: -0.5em;
}
 
/* Embedded content
   ========================================================================== */
 
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
 
/* Forms
   ========================================================================== */
 
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
 
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}
 
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}
 
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
 
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
 
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
 
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
 
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}
 
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
 
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
 
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}
 
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
 
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
 
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
 
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
 
/* Interactive
   ========================================================================== */
 
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
 
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
 
/* Misc
   ========================================================================== */
 
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
 
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

哪种CSS Reset最好

选择最好的 CSS Reset 取决于项目需求和个人偏好。

最适合的 CSS Reset 取决于你的项目需求。

如果你希望尽量保留默认样式并修复浏览器的不一致性,推荐使用 Normalize.css。

如果你更倾向于完全自定义样式,Eric Meyer’s Reset CSS 可能更适合。

而如果你想改变默认的盒模型计算方式,CSS Box Sizing Border Box 是一个很好的选择。

最重要的是,在使用任何 CSS Reset 方法之前,请确保你理解其工作原理,并测试其在你的项目中的效果。

参考文档:

  • https://www.zhankr.net/76634.html

你可能感兴趣的:(前端杂货铺,css,前端)