type =“ text / css” จำเป็นในแท็ก <link> หรือไม่


192

ฉันสงสัยว่าจำเป็นต้องใช้<link rel="stylesheet" type="text/css" href=...>มากกว่า<link rel="stylesheet" href=...>หรือไม่ rel="stylesheet"เครื่องหมายข้อมูลที่ว่ามันเป็นสไตล์ - ดังนั้นtext/cssไม่จริงเพิ่มอะไรเท่าที่ฉันกังวล

รูปแบบสไตล์ชีทเดียวที่ใช้โดย HTML คือ CSS อยู่แล้วดังนั้นtext/css'พูด' กับเบราว์เซอร์คืออะไร? บางเว็บไซต์ดูเหมือนจะเพิ่มtype="text/css"แอตทริบิวต์ ( http://www.jquery.com/ ) ในขณะที่เว็บไซต์อื่นไม่ทำ ( http://www.youtube.com/ )

ดังนั้นสิ่งที่เป็นการใช้type="text/css"ใน<link rel="stylesheet">องค์ประกอบและมีความจำเป็นที่จะรวมมันได้หรือไม่


1
อาจถูกนำไปใช้เพื่อทำหน้าที่เป็นทางเลือกสำหรับเซิร์ฟเวอร์ที่ไม่ส่งคืนไฟล์MIME-typeที่ถูกต้อง.cssแต่ดูเหมือนว่าไม่จำเป็นเลย ฉันใช้มันเพื่อความสอดคล้องเท่านั้น
drudge

สิ่งที่ฉันเพิ่งพบอย่าระบุ type = "" มิฉะนั้น IE จะไม่โหลดสไตล์ชีทของคุณ
mhenry1384

ทุกวันนี้ไซต์jquery.comไม่ได้ใช้type="text/css"แต่ไซต์ Stackoverflow ยังคงใช้งานอยู่
Marco Demaio

คำตอบ:


150

ไม่จำเป็นต้องใช้กับข้อกำหนด HTML5 แต่จำเป็นต้องใช้ HTML รุ่นเก่า

ข้อมูลจำเพาะ Html 4 W3.org

http://www.w3.org/TR/html40/struct/links.html#edef-LINK http://www.w3.org/TR/html40/present/styles.html

Type ย่อมาจาก MIME type ของสไตล์ชีท ค่าที่สนับสนุนเพียงอย่างเดียวที่ฉันเคยเห็นคือ Text / CSS ซึ่งอาจเป็นสาเหตุว่าทำไม HTML5 จึงลดลง ฉันคิดว่าพวกเขามีมันสำหรับรุ่นก่อนหน้าเพื่อให้โอกาสในการขยายตัวในอนาคตที่ไม่เคยเกิดขึ้น

ด้วยการใช้ HTML5 และไม่ได้ระบุประเภทฉันได้ทำงานจนไม่มีปัญหาเกี่ยวกับความเข้ากันได้แม้ว่าจะทดสอบ IE เวอร์ชันเก่ากว่า


24
มันอาจจำเป็นในสเป็ค HTML4 แต่ไม่มีเบราว์เซอร์บังคับใช้จริง
Spudley

4
ดีมีเป็นชนิดสำหรับ "ภาพ / ICO" a
maxisam

2
ที่จริงแล้วข้อกำหนดของ HTML4.01 นั้นไม่ต้องการtypeคุณลักษณะ
คนงานทุกคนมีความสำคัญ

30

มันไม่จำเป็นต้องมี

ส่วนของ HTML Living มาตรฐานคุณสนใจกำลังเป็นองค์ประกอบซึ่งรัฐ:link

linkองค์ประกอบจะต้องมีทั้งrelแอตทริบิวต์หรือitempropแอตทริบิวต์ แต่ไม่ใช่ทั้งสอง

typeแอตทริบิวต์ให้ประเภท MIME ของทรัพยากรที่เชื่อมโยง มันเป็นที่ปรึกษาอย่างหมดจด ค่าต้องเป็นสตริงชนิด MIME ที่ถูกต้อง

สำหรับลิงก์ทรัพยากรภายนอกแอtypeททริบิวนี้จะใช้เป็นคำแนะนำสำหรับตัวแทนผู้ใช้ ...


"คำใบ้สำหรับตัวแทนผู้ใช้ ... " หมายถึงอะไร "ตัวแทนผู้ใช้" คืออะไร
ScottyBlades

@ScottyBlades เป็นคำถามที่ดี! ตัวแทนผู้ใช้คือสิ่งใดก็ตามที่สามารถดำเนินการในนามของผู้ใช้เพื่อดาวน์โหลด (ในกรณีนี้) HTML เวลาส่วนใหญ่นั้นเป็นเว็บเบราว์เซอร์ แต่ก็อาจเป็นไคลเอ็นต์เทอร์มินัลเช่น curl
alexmuller

6

HTML4.01 ไม่ต้องการtypeแอตทริบิวต์ใน<link>แท็ก ตามข้อกำหนดtypeคุณสมบัตินี้เป็นคำใบ้ของเบราว์เซอร์ หากเบราว์เซอร์ไม่สนับสนุนประเภทเนื้อหาที่มีคำใบ้แสดงว่าเบราว์เซอร์สามารถข้ามการดึงข้อมูลได้

type = content-type [CI]

คุณลักษณะนี้จะให้คำแนะนำคำแนะนำเกี่ยวกับประเภทเนื้อหาของเนื้อหาที่มีอยู่ในที่อยู่เป้าหมายลิงค์ จะช่วยให้ตัวแทนผู้ใช้สามารถเลือกใช้กลไกทางเลือกแทนที่จะดึงเนื้อหาถ้าพวกเขาได้รับคำแนะนำว่าพวกเขาจะได้รับเนื้อหาในประเภทเนื้อหาที่พวกเขาไม่สนับสนุน

ผู้เขียนที่ใช้คุณลักษณะนี้จะต้องรับผิดชอบในการจัดการความเสี่ยงที่อาจไม่สอดคล้องกับเนื้อหาที่มีอยู่ในที่อยู่เป้าหมายของลิงก์

  • หมายเหตุ: <link>คล้อยตามการ<a>นิยาม 's สำหรับtypeแอตทริบิวต์

1
นี่เป็นคำตอบที่เป็นประโยชน์มากที่สุด => โดยทั่วไป: ใช้เฉพาะแอตทริบิวต์ type หากเบราว์เซอร์อาจไม่สนับสนุน type => ไร้ประโยชน์สำหรับไฟล์มาตรฐานของเว็บเช่น CSS
jave.web

4

ความเข้าใจของฉันคือการอนุญาตสเปคของสไตล์ชีทในรูปแบบอื่นนอกเหนือจาก text / css

ในขณะที่ได้กลายเป็นรูปแบบการส่งมอบที่โดดเด่น (และมาตรฐาน) สำหรับสไตล์ชีทสำหรับ (X) เอกสาร HTML แต่ข้อมูลจำเพาะนั้นกว้างพอที่จะอนุญาตให้มีการส่งผ่าน MIME ประเภทต่างๆที่หลากหลายเป็นเพียงเบราว์เซอร์มาตรฐานที่ไม่ใช้


1

ไม่เกี่ยวข้องกับคนส่วนใหญ่ แต่บางระบบ (อย่างน้อย Microsoft SharePoint 2013) จะใช้แอตทริบิวต์ประเภทนี้เมื่อทำงานถึงวิธีการประมวลผล HTML (เช่นเมื่อสร้างไฟล์. มาสเตอร์เพจ)


-1

ไม่เพียงย่อมาจากประเภท MIME แต่เลิกใช้แล้วในรูปแบบ HTML เราสามารถนำมาใช้โดยไม่ต้องใช้เบราว์เซอร์ใด ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.