浏览器的HTML元素的默认CSS

我在哪里可以找到浏览器的HTML元素的默认CSS?

许多HTML元素都带有一些默认的CSS属性,有时会导致未知的/不需要的行为。 例如,输入框在不同的浏览器中显示的方式不同。 我正在寻找一个覆盖新的CSS3属性和新的HTML5元素的地方。

我已经看到了其他(更古老的)问题(如浏览器的默认CSS样式表 )的答案,提出了CSS重置的解决方案。 这个解决方案有时候并不需要,通常我会想保留一些基本的属性(比如在Chrome中突出显示输入框)。 换句话说, 我不想因为我不知道自己在做什么而摆脱这些事情

那么, 有没有一个网站可以给我所有这些信息(或者大多数)?

所有W3C HTML规范和供应商默认CSS样式表的GitHub存储库可以在这里找到

1. Firefox的默认样式

2. Internet Explorer的默认样式

3. Chrome / Webkit的默认样式

4. Opera的默认样式

5. HTML4的默认样式(W3C规范)

6. HTML5的默认样式(W3C规范)

示例,根据默认的W3C HTML4规范:

html, address, blockquote, body, dd, div, dl, dt, fieldset, form, frame, frameset, h1, h2, h3, h4, h5, h6, noframes, ol, p, ul, center, dir, hr, menu, pre { display: block; unicode-bidi: embed } li { display: list-item } head { display: none } table { display: table } tr { display: table-row } thead { display: table-header-group } tbody { display: table-row-group } tfoot { display: table-footer-group } col { display: table-column } colgroup { display: table-column-group } td, th { display: table-cell } caption { display: table-caption } th { font-weight: bolder; text-align: center } caption { text-align: center } body { margin: 8px } h1 { font-size: 2em; margin: .67em 0 } h2 { font-size: 1.5em; margin: .75em 0 } h3 { font-size: 1.17em; margin: .83em 0 } h4, p, blockquote, ul, fieldset, form, ol, dl, dir, menu { margin: 1.12em 0 } h5 { font-size: .83em; margin: 1.5em 0 } h6 { font-size: .75em; margin: 1.67em 0 } h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder } blockquote { margin-left: 40px; margin-right: 40px } i, cite, em, var, address { font-style: italic } pre, tt, code, kbd, samp { font-family: monospace } pre { white-space: pre } button, textarea, input, select { display: inline-block } big { font-size: 1.17em } small, sub, sup { font-size: .83em } sub { vertical-align: sub } sup { vertical-align: super } table { border-spacing: 2px; } thead, tbody, tfoot { vertical-align: middle } td, th, tr { vertical-align: inherit } s, strike, del { text-decoration: line-through } hr { border: 1px inset } ol, ul, dir, menu, dd { margin-left: 40px } ol { list-style-type: decimal } ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 } u, ins { text-decoration: underline } br:before { content: "\A"; white-space: pre-line } center { text-align: center } :link, :visited { text-decoration: underline } :focus { outline: thin dotted invert } /* Begin bidirectionality settings (do not change) */ BDO[DIR="ltr"] { direction: ltr; unicode-bidi: bidi-override } BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override } *[DIR="ltr"] { direction: ltr; unicode-bidi: embed } *[DIR="rtl"] { direction: rtl; unicode-bidi: embed } @media print { h1 { page-break-before: always } h1, h2, h3, h4, h5, h6 { page-break-after: avoid } ul, ol, dl { page-break-before: avoid } } 

每个浏览器都不一样,所以:

  • Firefox(Gecko): https //dxr.mozilla.org/mozilla-central/source/layout/style/res/html.css 。 或者,浏览到resource://gre-resources/并查看html.css
  • Chrome / Safari(WebKit): http : //trac.webkit.org/browser/trunk/Source/WebCore/css/html.css
    • Chrome(Blink): https //chromium.googlesource.com/chromium/blink/+/master/Source/core/css/html.css
  • Internet Explorer(Trident) ,旧版本: http ://web.archive.org/web/20170122223926/http://www.iecss.com/

您还可以查看HTML5 Boilerplate样式表 ,该样式表 “将传统意义上的复位标准化为大量显示”。 它也修复了一些错误/不一致之处。

这也值得一看: https : //github.com/necolas/normalize.css/blob/master/normalize.css

虽然这是一个旧的跨浏览器问题,因为每个浏览器都有他自己的呈现和行为与一些html元素,如媒体和输入元素,我们现在可以在2017年相当安全地使用css 过滤器 proprety。

这允许使用色调旋转滤镜的颜色调色板,这将很好地交叉浏览器。

以下代码片段展示了一种使用输入类型的颜色在javascript中实时渲染视频元素的效果。

只使用CSS,这是必需的使用每个过滤器:棕褐色不在0,高饱和度,灰度为0,高对比度,然后给我一个颜色与色调旋转属性,我的测试。 逆滤波器不是强制性的,但是会产生一些深层的效果。

同样,下拉阴影过滤器在浏览器上工作得非常好。 像这样使用:filter:drop-shadow(2px 20px 50px red) [X,Y,RADIUS,COLOR]

 function styloElem() { stylo.dataset.hue = ((parseInt(stylo.value.substring(1), 16))/46666).toFixed(0) media.style.cssText += ";filter:sepia(100%) saturate(1000%)grayscale(0)contrast(200%)hue-rotate("+ stylo.dataset.hue+"deg)invert("+(stylo.dataset.hue/3.6)+"%)" } styloElem() 
 body { text-align:center; background:#001; color: white } video { width:500px;max-width:500px } 
 Colors: <input type="color" id="stylo" oninput="styloElem()" class="media" data-hue="0" /> <br><br> <video controls id="media" onplay="this.removeAttribute('controls');this.style.all='unset'" onpause="this.controls='controls';styloElem()" src="https://ia600206.us.archive.org/7/items/MysteresDarchives-Saison04/1944%2c%20Dans%20le%20maquis%20du%20Vercors.ogv"></video>