HTML 요소에 대한 브라우저의 기본 CSS


146

HTML 요소에 대한 브라우저의 기본 CSS는 어디에서 찾을 수 있습니까?

많은 HTML 요소에는 기본 CSS 속성이 포함되어있어 때때로 알 수 없거나 원하지 않는 동작이 발생할 수 있습니다. 예를 들어 입력 상자는 브라우저마다 다르게 표시됩니다. 새로운 CSS3 속성과 새로운 HTML5 요소를 다루는 곳을 찾고 있습니다.

CSS 재설정 솔루션을 제안하는 다른 (더 오래된) 질문 (예 : 브라우저의 기본 CSS 스타일 시트 ) 답변 에서 보았습니다 . 이 솔루션은 때로는 원하지 않습니다. 종종 Chrome의 입력 상자 강조 표시와 같은 기본 속성 중 일부를 유지하고 싶습니다. 다시 말해, 나는 그들이하는 일을 모르기 때문에 물건을 없애고 싶지 않습니다 .

그렇다면 이 모든 정보를 제공 할 수있는 사이트가 있습니까?


3
사이트가 아니라 크롬 개발자 도구에 상속 된 CSS 규칙이 표시되고 "사용자 에이전트 스타일 시트"로 표시된 규칙이 크롬 규칙을 표시합니다. 더 이상 도울 수 없어서 죄송합니다. 또한 : dowebsitesneedtolookexactlythesameineverybrowser.com
James Khoury

2
좋은 질문입니다! 이 모든 정보를 이용할 수있는 곳이 있어야한다는 데 동의합니다.

reset.css는 기본 사항을 중지하지 않습니다. 입력 상자는 여전히 Chrome에서 강조 표시됩니다. 브라우저에서 임의의 패딩 차이를 잃을 것입니다. 따라서 모든 브라우저에서 동일한 동작 (패딩 / 여백 / ...)으로 시작할 수 있습니다.
Jules

1
@James Khoury-Firebug도 마찬가지입니다.
Rob

물론 @Rob! 나는 방화범 잊어
제임스 쿠리에게

답변:


93

모든 W3C HTML 사양 및 공급 업체 기본 CSS 스타일 시트의 GitHub 저장소는 여기 에서 찾을 수 있습니다.

1. Firefox의 기본 스타일

2. Internet Explorer의 기본 스타일

3. Chrome / Webkit의 기본 스타일

4. 오페라의 기본 스타일

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 }
}

참고로 nobrW3C의 HTML5 스타일 시트에서 악명 높은 태그 와 같은 것을 보는 것이 흥미 롭습니다 .
tomasz86

여전히 최신 상태입니까?
Webwoman

Firefox 링크에는 모든 기본값이 포함되어 있지 않습니다. 예를 들어 textarea의 기본 CSS가 포함되어 있지 않습니다. resource : //gre-resources/forms.css에서 찾을 수 있습니다. 일반적으로 resource : // gre-resources의 파일을 찾아 모든 기본 정보를 찾으십시오. 또는 모든 브라우저에 대해서는 html.spec.whatwg.org/multipage/rendering.html을 참조하십시오 .
David Spector

117

브라우저마다 다르므로 다음과 같습니다.

"전통적인 의미에서 재설정하지 않고도 많은 것들의 표시를 정규화하는" HTML5 보일러 플레이트 스타일 시트를 볼 수도 있습니다 . 또한 몇 가지 버그 / 불일치를 수정합니다.

https://github.com/necolas/normalize.css/blob/master/normalize.css 도 볼 가치가 있습니다.


2
재미있게도, 위의 질문에 대한 답변 에서 '올 낡은'것과 거의 같은 내용 입니다. 2 일 전에 IE 링크 만 추가했지만
robertc

1
@nayish 브라우저 기본값과 다른 점은 무엇이라고 생각하십니까?
robertc

1
@nayish 외부 브라우저가 기본 스타일 시트에서 구현 한 내용의 HTML 요소의 기본 CSS의 별도의 정의가 없다
robertc

1
@nayish 스펙의 각 개별 속성에 대해 지정 되었지만 불투명도 CSS 의미에서 상속되지 않습니다.
robertc

2
참고로 HTML5 상용구는 CSS 정규화 그 이상의 것입니다. CSS를 정규화하기 위해 정규화 도구를 사용합니다 : necolas.github.com/normalize.css
개발자를 기다리는 중 ...


0

이것은 오래된 크로스 브라우저 문제이지만 각 브라우저는 미디어 및 입력 요소와 같은 일부 HTML 요소를 사용하여 자체 렌더링 및 동작을 수행하므로 2017 년에는 CSS 필터 속성을 매우 안전하게 사용할 수 있습니다.

이를 통해 색조 회전 필터가 있는 색상 팔레트를 사용하여 크로스 브라우저를 상당히 잘 렌더링 할 수 있습니다.

다음 스 니펫은 입력 유형 색상 을 사용하여 자바 스크립트가있는 비디오 요소에서이 효과를 실시간으로 렌더링 하는 방법을 보여줍니다 .

CSS 만 사용하려면이 필터 각각을 사용해야합니다. 세피아가 0이 아니고 채도가 높고 회색조가 0이며 고대 비가 높은 다음 테스트 후 색조 회전 속성으로 색상을 지정하십시오. 반전 필터는 필수는 아니지만 몇 가지 깊은 효과가 있습니다.

또한 드롭 섀도 필터는 브라우저에서 꽤 잘 작동합니다. 이와 같이 사용하려면 : filter : drop-shadow (2px 20px 50px 빨강) [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>

CSS 필터를 사용할 수 있습니까?

http://caniuse.com/#feat=css-filters

이 노트가 나오는 곳에서 CSS 필터를 사용하여 만든 툴바 :

https://github.com/webdev23/ponyFilters

보다 완전한 코드 펜 예제 :

http://codepen.io/Nico_KraZhtest/pen/bWExEB/


조금 옆에있는 것처럼 보입니다. 맞습니다! 이것은이 날짜에 나의 노력이었습니다. 이것은 CSS 일 뿐이므로 브라우저 요소 동작을 변경하지 않지만 모든 종류의 브라우저에서 이러한 요소를 동일한 색상 / 밝기로 렌더링하여 각 요소에 대한 특수 코드를 작성하지 않고도 렌더링 할 수 있습니다. 질문 당시에는 불가능했습니다. 감사.
NVRM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.