Apakah type = "text / css" diperlukan di tag <link>?


192

Saya bertanya-tanya apakah perlu menggunakan <link rel="stylesheet" type="text/css" href=...>lebih atau tidak<link rel="stylesheet" href=...> . The rel="stylesheet"tanda informasi bahwa itu adalah stylesheet - sehingga text/csstidak benar-benar menambahkan sesuatu sejauh yang saya prihatin.

Satu-satunya format stylesheet yang digunakan oleh HTML adalah CSS, jadi apa yang text/cssdikatakan 'ke browser? Beberapa situs web tampaknya menambahkan type="text/css"atribut ( http://www.jquery.com/ ), sementara yang lain tidak ( http://www.youtube.com/ ).

Jadi, apa adalah penggunaan type="text/css"dalam <link rel="stylesheet">elemen, dan perlu untuk memasukkannya?


1
Ini mungkin telah diimplementasikan untuk bertindak sebagai fallback untuk server yang tidak mengembalikan benar MIME-typepada .cssfile, tetapi tampaknya itu tidak pernah diperlukan. Saya menggunakannya hanya demi konsistensi.
membanting tulang

Sesuatu yang baru saja saya temui, jangan tentukan type = "" atau IE tidak akan memuat stylesheet Anda.
mhenry1384

Saat ini situs jquery.com tidak menggunakan type="text/css", tetapi situs Stackoverflow masih menggunakannya.
Marco Demaio

Jawaban:


149

Itu tidak diperlukan dengan spesifikasi HTML5, tetapi untuk versi HTML yang lebih lama diperlukan.

Html 4 W3.org spec

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

Type adalah kependekan dari The MIME type dari style sheet. Satu-satunya nilai yang didukung yang pernah saya lihat adalah Teks / CSS, yang mungkin mengapa HTML5 menjatuhkannya. Saya membayangkan mereka memilikinya untuk versi sebelumnya untuk memungkinkan kemungkinan ekspansi di masa depan yang tidak pernah terjadi.

Menggunakan HTML5 dan tidak menentukan jenisnya, sejauh ini saya tidak mengalami masalah dengan kompatibilitas bahkan ketika menguji versi IE yang lebih lama.


24
mungkin diperlukan dalam spesifikasi HTML4, tetapi tidak ada browser yang benar-benar menegakkannya.
Spudley

4
baik, ada jenis untuk "image / ico"
maxisam

2
Sebenarnya, spesifikasi HTML4.01 tampaknya tidak memerlukan typeatribut.
Semua Pekerja Penting

30

Tidak wajib, tidak.

Bagian dari Hidup Standard HTML Anda sedang tertarik adalah The linkelemen , yang menyatakan:

Suatu linkelemen harus memiliki relatribut atau itempropatribut, tetapi tidak keduanya.

The typeatribut memberikan jenis MIME dari sumber daya terkait. Ini murni nasihat. Nilai harus berupa string tipe MIME yang valid.

Untuk tautan sumber daya eksternal, typeatribut tersebut digunakan sebagai petunjuk kepada agen pengguna ...


Apa arti "sebagai petunjuk bagi agen pengguna ..."? Apa itu "agen pengguna"?
ScottyBlades

@ScottyBlades Pertanyaan bagus! Agen pengguna adalah segala sesuatu yang dapat bertindak atas nama pengguna untuk mengunduh (dalam hal ini) HTML. Sebagian besar waktu itu adalah browser web, tetapi itu juga bisa menjadi klien terminal seperti curl.
alexmuller

6

HTML4.01 tidak memerlukan typeatribut pada <link>tag. Menurut spesifikasinya, typeatribut adalah petunjuk untuk browser. Jika browser tidak mendukung tipe konten yang diisyaratkan, maka browser dapat melompati pengambilannya.

type = content-type [CI]

Atribut ini memberikan petunjuk untuk jenis konten dari konten yang tersedia di alamat target tautan. Ini memungkinkan agen pengguna untuk memilih untuk menggunakan mekanisme mundur daripada mengambil konten jika mereka disarankan bahwa mereka akan mendapatkan konten dalam jenis konten yang tidak mereka dukung.

Penulis yang menggunakan atribut ini bertanggung jawab untuk mengelola risiko yang mungkin menjadi tidak konsisten dengan konten yang tersedia di alamat target tautan.

  • CATATAN: <link>mengacu pada<a> definisi typeatribut.

1
Ini adalah jawaban yang paling membantu => pada dasarnya: hanya gunakan atribut type jika browser mungkin tidak mendukung tipe => tidak berguna untuk file standar web seperti CSS.
jave.web

4

Pemahaman saya adalah bahwa itu memungkinkan spesifikasi stylesheet dalam format selain teks / css.

Sementara itu telah menjadi format pengiriman dominan (dan standar) untuk stylesheet untuk (X) dokumen HTML, spesifikasinya sebenarnya cukup lebar untuk memungkinkan berbagai jenis MIME yang berbeda untuk dilewatkan, hanya saja browser standar tidak mengimplementasikannya.


1

Tidak relevan bagi kebanyakan orang, tetapi beberapa sistem (setidaknya Microsoft SharePoint 2013) akan menggunakan atribut tipe ini ketika mengetahui cara memproses HTML (misalnya saat membuat file halaman .master).


-1

Tidak, itu hanya singkatan dari tipe MIME, sudah usang dalam HTML, Kita bisa berhenti menggunakannya tanpa kompatibilitas browser apa pun.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.