Is type="text/css" necessary in a <link> tag?
I was wondering whether or not it is necessary to use <link rel="stylesheet" type="text/css" href=...>
over <link rel="stylesheet" href=...>
. The rel="stylesheet"
marks the information that it is a stylesheet - so text/css
doesn't actually add anything as far as I'm concerned.
The only stylesheet format used by HTML is CSS anyway, so what does text/css
'say' to the browser? Some websites seem to add the type="text/css"
attribute (http://www.jquery.com/), whilst other ones don't (http://www.youtube.com/).
So, what is the use of type="text/css"
in a <link rel="stylesheet">
element, and is it necessary to include it?
Solution 1:
It's not required with the HTML5 spec, but for older versions of HTML is it required.
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 stands for The MIME type of the style sheet. The only supported value I have ever seen is Text/CSS, which is probably why HTML5 has dropped it. I imagine they had it for earlier versions to allow future expansion possibilities which never happened.
Using HTML5 and not specifying the type, I have run so far into no problems with compatibility even when testing older versions of IE.
Solution 2:
It's not required, no.
The part of the HTML Living Standard you're interested in is The link
element, which states:
A
link
element must have either arel
attribute or anitemprop
attribute, but not both.The
type
attribute gives the MIME type of the linked resource. It is purely advisory. The value must be a valid MIME type string.For external resource links, the
type
attribute is used as a hint to user agents...