CSS เริ่มต้นของเบราว์เซอร์สำหรับองค์ประกอบ HTML


146

ฉันจะหา CSS เริ่มต้นของเบราว์เซอร์สำหรับองค์ประกอบ HTML ได้ที่ไหน

องค์ประกอบ HTML จำนวนมากมาพร้อมกับคุณสมบัติ CSS เริ่มต้นซึ่งบางครั้งอาจส่งผลให้เกิดพฤติกรรมที่ไม่รู้จัก / ไม่พึงประสงค์ ตัวอย่างเช่นกล่องอินพุตจะแสดงแตกต่างกันในเบราว์เซอร์ที่แตกต่างกัน ฉันกำลังมองหาสถานที่ที่ครอบคลุมคุณสมบัติ CSS3 ใหม่และองค์ประกอบ HTML5 ใหม่

ฉันเคยเห็นในคำถามอื่น ๆ (เก่ากว่า) (เช่นCSS สไตล์ชีตเริ่มต้นของเบราว์เซอร์ ) คำตอบที่แนะนำการแก้ปัญหาการรีเซ็ต CSS บางครั้งไม่ต้องการโซลูชันนี้บ่อยครั้งที่ฉันต้องการเก็บคุณสมบัติพื้นฐานบางอย่างไว้ (เช่นการเน้นกล่องใส่ข้อมูลใน Chrome) ในคำอื่น ๆ : ฉันไม่ต้องการที่จะกำจัดสิ่งเพียงเพราะผมไม่ทราบว่าสิ่งที่พวกเขาทำ

ดังนั้นมีเว็บไซต์ที่สามารถให้ข้อมูลทั้งหมดนี้กับฉัน (หรืออาจมากที่สุด) ได้ไหม?


3
ไม่ใช่ไซต์ แต่ในเครื่องมือ devleoper ของ Chrome จะแสดงกฎ css ที่สืบทอดและสิ่งที่ทำเครื่องหมายว่า "user agent stylesheet" จะแสดงกฎของ chrome ขออภัยฉันไม่สามารถช่วยได้มากขึ้น ยัง: dowebsitesneedtolookexactlythesameineverybrowser.com
James Khoury

2
เป็นคำถามที่ดีมาก! ฉันเห็นด้วยต้องมีที่ไหนซักแห่งที่มีข้อมูลทั้งหมดนี้

เพียงแค่บันทึก reset.css ไม่ได้หยุดสิ่งพื้นฐาน ช่องป้อนข้อมูลของคุณจะยังคงเน้นใน Chrome คุณจะสูญเสียความแตกต่างจากการสุ่มในเบราว์เซอร์ ดังนั้นคุณสามารถเริ่มต้นด้วยพฤติกรรมที่เหมือนกันในทุกเบราว์เซอร์ (padding / margin / ... wise)
จูลส์

1
@James Khoury - ยังเป็นจริงของ Firebug
Rob

@Rob แน่นอน! ฉันลืมเรื่อง Firebug
James Khoury

คำตอบ:


93

ที่เก็บ GitHub ของ CSS ข้อมูลจำเพาะ W3C HTML และ CSS สไตล์เริ่มต้นของผู้ขายทั้งหมดสามารถดูได้ที่นี่

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

ในหมายเหตุด้านมันเป็นเรื่องที่น่าสนใจที่จะเห็นสิ่งต่าง ๆ เช่นnobrแท็กที่น่าอับอายในสไตล์ HTML5 ของ W3C
tomasz86

ยังทันสมัยอยู่ใช่ไหม
Webwoman

ลิงค์สำหรับ Firefox ไม่มีค่าเริ่มต้นทั้งหมด ตัวอย่างเช่นไม่มี css เริ่มต้นสำหรับ textarea คุณสามารถค้นหาได้ในทรัพยากร: //gre-resources/forms.css โดยทั่วไปให้เรียกดูไฟล์ในแหล่งข้อมูล: // gre-resources เพื่อค้นหาข้อมูลเริ่มต้นทั้งหมด หรือสำหรับเบราว์เซอร์ทั้งหมดให้ดูhtml.spec.whatwg.org/multipage/rendering.html
David Spector

117

มันแตกต่างกันสำหรับแต่ละเบราว์เซอร์ดังนั้น:

นอกจากนี้คุณยังสามารถดูแผ่นสไตล์ HTML5 Boilerplateซึ่ง "ทำให้การแสดงผลเป็นเรื่องปกติเป็นเรื่องปกติโดยไม่ต้องรีเซ็ตเป็นแบบดั้งเดิม" นอกจากนี้ยังแก้ไขข้อบกพร่อง / ความไม่สอดคล้องกันค่อนข้างน้อย

นอกจากนี้ยังควรดูที่: https://github.com/necolas/normalize.css/blob/master/normalize.css


2
ซึ่งตลกพอคือส่วนใหญ่เป็นสิ่งเดียวกันกับที่ฉันเชื่อมโยงในคำตอบของคำถามที่เชื่อมโยงกับข้างต้นซึ่งเห็นได้ชัดว่า 'ล้าสมัย' แม้ว่าฉันจะเพิ่มลิงก์ IE ไปยัง 2 วันที่ผ่านมาเท่านั้น
robertc

1
@nayish คุณคิดว่ายังมีอะไรอีกนอกเหนือจากค่าเริ่มต้นของเบราว์เซอร์
robertc

1
@nayish ไม่มีคำนิยามที่แยกต่างหากจาก CSS เริ่มต้นสำหรับองค์ประกอบ HTML นอกของสิ่งที่เบราว์เซอร์ได้ดำเนินการในสไตล์ชีตเริ่มต้นของพวกเขาคือ
robertc

1
@nayish ที่ระบุไว้กับแต่ละสถานที่ให้บริการในแต่ละข้อมูลจำเพาะแต่ทราบว่าทึบไม่ได้รับมรดกในความรู้สึกแบบ CSS
robertc

2
สิ่งที่ควรทราบเกี่ยวกับ HTML5 สำเร็จรูปคือมากกว่า CSS normalizing ในการทำให้ปกติ CSS เป็นปกติพวกเขาใช้เครื่องมือ Normalize: necolas.github.com/normalize.css
กำลังรอการพัฒนา ...

1

ไม่มีใครพูดถึงแหล่งข้อมูลใด ๆ สำหรับค่าเริ่มต้น CSS ใน Edge ฉันค้นหาและฉันไม่พบสิ่งใดที่มีสิทธิ์ แต่ฉันพบสไตล์ชีทที่ดูน่าเชื่อถือ: https://gist.github.com/jonathantneal/abc52743caa0a019d359ec4ba2ce965b


0

ในขณะที่นี่เป็นปัญหาข้ามเบราว์เซอร์เก่าเนื่องจากแต่ละเบราว์เซอร์มีการเรนเดอร์และพฤติกรรมของตนเองกับองค์ประกอบ html บางอย่างเช่นสื่อและองค์ประกอบอินพุตตอนนี้เราสามารถทำได้ในปี 2560 ใช้ตัวกรอง css อย่างปลอดภัย proprety

การทำเช่นนี้จะช่วยให้ได้จานสีที่มีเฉดสีหมุนฟิลเตอร์ที่จะทำให้เบราว์เซอร์ข้ามได้ค่อนข้างดี

ตัวอย่างต่อไปนี้แสดงวิธีใช้สีประเภทอินพุตเพื่อแสดงเอฟเฟกต์แบบเรียลไทม์ในองค์ประกอบวิดีโอด้วยจาวาสคริปต์

หากต้องการใช้ css เท่านั้นนี่เป็นข้อบังคับที่ต้องใช้กับตัวกรองแต่ละตัว: ซีเปียไม่ใช่ที่ 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

ตัวอย่าง codepen ที่สมบูรณ์มากขึ้น:

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


ดูเหมือนว่าจะอยู่ห่างกันนิดหน่อยคุณพูดถูก! นี่เป็นงานของฉันในวันนี้ เนื่องจากนี่เป็นเพียง css สิ่งนี้จะไม่เปลี่ยนพฤติกรรมองค์ประกอบของเบราว์เซอร์ แต่สามารถให้วิธีแสดงองค์ประกอบประเภทนี้ด้วยสี / ความสว่างเหมือนกันในเบราว์เซอร์ใด ๆ โดยไม่ต้องเขียนโค้ดพิเศษสำหรับแต่ละรายการ สิ่งนี้ไม่สามารถทำได้ในช่วงเวลาของคำถาม ขอบคุณ
NVRM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.