Стандартний CSS для веб-переглядачів для елементів HTML


146

Де я можу знайти CSS браузера за замовчуванням для елементів HTML?

Багато елементів HTML мають деякі властивості CSS за замовчуванням, які іноді можуть призвести до невідомої / небажаної поведінки. Наприклад, поля введення відображаються по-різному в різних браузерах. Я шукаю місце, яке охоплює нові властивості CSS3 та нові елементи HTML5.

Я бачив і в інших (набагато старших) питаннях (таких як таблиці за стилем CSS для браузерів за замовчуванням ) відповіді, які пропонують рішення щодо скидання CSS. Це рішення іноді не потрібне, часто я хотів би зберегти деякі основні властивості (наприклад, підсвічування вікон вводу в Chrome). Іншими словами: я не хочу позбуватися речей лише тому, що не знаю, що вони роблять .

Отже, чи є сайт, який може дати мені всю цю інформацію (чи, можливо, більшість)?


3
Не сайт, але в інструментах хромованого розробника він показує успадковані правила css, а ті, що позначені "таблиця стилів користувацьких агентів", показуватимуть хромовані. Вибачте, я не міг більше допомогти. також: dowebsitesneedtolookexactlythesameineverybrowser.com
James Khoury

2
Чудове запитання! Я погоджуюся, десь там, де є вся інформація, наявна інформація.

Просто зауважте, що reset.css не зупиняє основних речей. Ваші поля введення все ще будуть виділятися в Chrome. Ви просто втратите випадкові відмінності відбитків у веб-переглядачах. Таким чином, ви можете почати з однаковою поведінкою у всіх браузерах (padding / margin / ... smart).
Jules

1
@James Khoury - також стосується Firebug.
Роб

@Rob звичайно! Я забув про Firebug
James Khoury

Відповіді:


93

Репозиторій GitHub всіх таблиць стилів WSC HTML та таблиць стилів CSS за замовчуванням постачальника можна знайти тут

1. Стилі за замовчуванням для Firefox

2. Стилі за замовчуванням для Internet Explorer

3. Стилі за замовчуванням для Chrome / Webkit

4. Стилі за замовчуванням для Opera

5. Стилі за замовчуванням для HTML4 (специфікація W3C)

6. Стилі за замовчуванням для HTML5 (специфікація W3C)

Зразок за типовою специфікацією HTML4 W3C:

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

Зі сторони, цікаво побачити такі речі, як сумнозвісний nobrтег у HTML5 таблиці стилів W3C.
tomasz86

все ще актуальні?
Веб-жінка

Посилання для Firefox містить не всі параметри за замовчуванням. Наприклад, він не містить css за замовчуванням для textarea. Ви можете знайти це в ресурсі: //gre-resources/forms.css. Загалом, перегляньте файли в ресурсі: // gre-ресурси, щоб знайти всю інформацію за замовчуванням. Або для всіх браузерів див. Html.spec.whatwg.org/multipage/rendering.html .
Девід Спектор

117

Для кожного веб-переглядача він різний, тому:

Ви також можете переглянути таблицю стилів HTML5 Boilerplate , яка "нормалізує показ багатьох матеріалів, не скидаючи їх у традиційному розумінні". Він також виправляє досить багато помилок / невідповідностей.

Також варто переглянути: https://github.com/necolas/normalize.css/blob/master/normalize.css


2
Що, як не дивно, - це здебільшого ті самі речі, з якими я посилався у своїй відповіді на вищезазначене запитання, яке, мабуть, "застаріло". Хоча я додав лише посилання IE до цього 2 дні тому.
robertc

1
@nayish Що ще, на вашу думку, існує крім параметрів браузера?
robertc

1
@nayish Не існує окремого визначення CSS за замовчуванням для елементів HTML за межами того, що браузери реалізували у своїх
таблицях

1
@nayish Це вказано проти кожної окремої властивості у специфікації , хоча зауважте, що непрозорість не успадковується у сенсі CSS
robertc

2
Відзначимо, котло HTML5 набагато більше, ніж нормалізація CSS. Щоб просто нормалізувати CSS, вони використовують інструмент Normalize: necolas.github.com/normalize.css
Очікування Dev ...


0

Хоча це стара проблема перехресного браузера, оскільки кожен браузер має власну візуалізацію та поведінку з деякими html-елементами, такими як медіа-елементи та вхідні елементи, ми тепер у 2017 році можемо досить безпечно використовувати css- фільтри у власність над ними.

Це дозволяє надати кольорову палітру з відтінком, що повертає фільтр, який буде добре відображати браузери.

Наведені нижче фрагменти показують спосіб використання кольору введення для відображення цього ефекту в режимі реального часу на відеоелементі з JavaScript.

Щоб використовувати лише css, обов'язково використовувати кожен із цих фільтрів: sepia не на 0, високу насиченість, шкалу відтінків сірого в 0, високий контраст, а потім надати колір із властивістю повернути відтінок після моїх тестів. Інвертний фільтр не є обов'язковим, але дає глибокі ефекти.

Крім того, фільтр тіней працює досить непогано за допомогою веб-переглядача. Використовувати так: фільтр: тінь (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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.