Zumindest aus Sicht des W3C gibt es einen Unterschied.
Ein <style>
Element führt einen Block von CSS-Regeln ein, die für das aktuelle Dokument gelten. Externe Stylesheets werden jedoch tatsächlich als ganze Dokumente betrachtet, die sich auf die aktuelle Seite beziehen , und Benutzeragenten können solche Dokumente je nach type
und media
Attributen des Links ignorieren . Zum Beispiel:
<link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
In dieser Situation folgen Benutzeragenten normalerweise nur einem der Links, entweder dem screen
einen (für normales Rendern) oder dem print
einen (zum Drucken). Die Idee war, die Bandbreite zu erhalten, indem nur die entsprechende Ressource heruntergeladen wurde, anstatt alles abzurufen und später nach dem Medientyp zu filtern.
Dies wird in der Spezifikation erwähnt:
Wenn das LINK
Element ein externes Stylesheet mit einem Dokument verknüpft, gibt das
type
Attribut die Stylesheet-Sprache und das media
Attribut das beabsichtigte Rendering-Medium oder Medium an. Benutzeragenten können Zeit sparen, indem sie nur die Stylesheets aus dem Netzwerk abrufen, die für das aktuelle Gerät gelten.
<style type="text/css">@import url("style.css");</style>
.