{"id":162,"date":"2012-07-17T12:27:17","date_gmt":"2012-07-17T11:27:17","guid":{"rendered":"https:\/\/kineo.de\/blog\/?p=162"},"modified":"2012-07-18T10:36:20","modified_gmt":"2012-07-18T09:36:20","slug":"conditional-stylesheets-oder-css-hacks","status":"publish","type":"post","link":"https:\/\/kineo.de\/blog\/html\/conditional-stylesheets-oder-css-hacks\/","title":{"rendered":"Conditional stylesheets oder CSS hacks ?"},"content":{"rendered":"<p>Bei der Besch\u00e4ftigung mit HTML5 und Browser \u00fcbergreifender Gestaltung, sind wir auf das Projekt HTML5 Boilerplate gestossen. Das Entwicklerteam hat interessante Ans\u00e4tze f\u00fcr ein fertiges Template ver\u00f6ffentlicht.<br \/>\n(<a href=\"https:\/\/html5boilerplate.com\/\" target=\"_blank\">https:\/\/html5boilerplate.com\/<\/a> oder deutsch:\u00a0<a href=\"https:\/\/de.html5boilerplate.com\/\" target=\"_blank\">https:\/\/de.html5boilerplate.com\/<\/a>)<br \/>\nDie wichtigsten Punkte sind zus\u00e4tzlich in ausf\u00fchrlichen Screencasts erkl\u00e4rt (englisch).<\/p>\n<p>Einige Dinge lassen sich daraus auch direkt, ohne weitere Einarbeitung, verwenden:<\/p>\n<h2>Conditional Stylesheets \/ Comments oder CSS hacks?<\/h2>\n<p>Das ewige Problem mit korrektem CSS f\u00fcr alle Browser.<br \/>\nCSS Hacks f\u00fcr spezielle Browser innerhalb des Stylesheets sind in der Regel nicht valide.<\/p>\n<p>Separate Stylesheets mittels Conditional Comments bedeuten zus\u00e4tzliche HTTP Requests zum download und <strong>das Rendern der Seite wartet bis sie vollst\u00e4ndig geladen sind.<\/strong><br \/>\nIn Zeiten, in denen Google die Ladezeiten einer Webseite als Qualit\u00e4tsfaktor wertet, nicht unwichtig.<br \/>\nAbgesehen davon bedeuten zus\u00e4tzliche Stylesheets nat\u00fcrlich mehr Aufwand.<\/p>\n<h2>L\u00f6sung:<\/h2>\n<p>Conditional Comments f\u00fcr eine extra Klasse des html Tags.<br \/>\n<code>&lt;!--[if lt IE 7 ]&gt; &lt;html class=\"ie6\"&gt; &lt;![endif]--&gt;<br \/>\n&lt;!--[if IE 7 ]&gt;    &lt;html class=\"ie7\"&gt; &lt;![endif]--&gt;<br \/>\n&lt;!--[if IE 8 ]&gt;    &lt;html class=\"ie8\"&gt; &lt;![endif]--&gt;<br \/>\n&lt;!--[if IE 9 ]&gt;    &lt;html class=\"ie9\"&gt; &lt;![endif]--&gt;<br \/>\n&lt;!--[if (gt IE 9)|!(IE)]&gt;&lt;!--&gt; &lt;html class=\"\"&gt; &lt;!--&lt;![endif]--&gt;<\/code><br \/>\nDamit kann man Browser spezifisches CSS direkt in das Haupt-Stylesheet schreiben:<br \/>\n<code>.div { color: black; }<br \/>\n.ie8 .div { color: green; } \/* IE8 *\/<br \/>\n.ie7 .div { color: blue; } \/* IE7 *\/<br \/>\n.ie6 .div { color: red; } \/* IE6 and IE5 *\/<\/code><br \/>\nQuelle Paul Irish: <a href=\"https:\/\/paulirish.com\/2008\/conditional-stylesheets-vs-css-hacks-answer-neither\/\" target=\"_blank\">https:\/\/paulirish.com\/2008\/conditional-stylesheets-vs-css-hacks-answer-neither\/<\/a><\/p>\n<p><strong>WICHTIG f\u00fcr den Internet Explorer:<\/strong><\/p>\n<p>Die\u00a0Zeichenkodierung Deklaration (zB\u00a0&lt;meta\u00a0charset\u00a0=\u00a0&#8222;UTF-8&#8243;\u00a0&gt;\u00a0) sollte innerhalb der ersten 1024 Bytes des HTML-Dokuments platziert werden.\u00a0Mit dieser Technik k\u00f6nnte diese Grenze \u00fcberschritten werden. Also muss die nach oben.<\/p>\n<p>Verschiedene Quellen berichten, dass beim IE Conditional Comments diesen in den Kompatibilit\u00e4tsmodus versetzen.<\/p>\n<p>Ist das nicht gew\u00fcnscht, muss man serverseitig den header auf X-UA-Compatible setzen, denn die Verwendung von Conditional Comments vor &lt;meta\u00a0http-equiv=&#8220;X-UA-Compatible&#8220;&gt; bringt den IE dazu, nachfolgendes &lt;meta&gt; zu ignorieren.<\/p>\n<p>Quelle: <a href=\"https:\/\/mathiasbynens.be\/notes\/safe-css-hacks\" target=\"_self\">https:\/\/mathiasbynens.be\/notes\/safe-css-hacks<\/a><\/p>\n<h2 style=\"margin-top: 25px;\">Print Stylesheet integrieren<\/h2>\n<p>Anstatt in einem separaten direkt im gleichen Stylesheet integriert, um einen zus\u00e4tzlichen HTTP-Aufruf zu vermeiden:<br \/>\n<code>@media print {<br \/>\ndeine Anweisungen zum Druck<br \/>\n...<br \/>\n}<br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei der Besch\u00e4ftigung mit HTML5 und Browser \u00fcbergreifender Gestaltung, sind wir auf das Projekt HTML5 Boilerplate gestossen. Das Entwicklerteam hat interessante Ans\u00e4tze f\u00fcr ein fertiges Template ver\u00f6ffentlicht. (https:\/\/html5boilerplate.com\/ oder deutsch:\u00a0https:\/\/de.html5boilerplate.com\/) Die wichtigsten Punkte sind zus\u00e4tzlich in ausf\u00fchrlichen Screencasts erkl\u00e4rt (englisch). Einige Dinge lassen sich daraus auch direkt, ohne weitere Einarbeitung, verwenden: Conditional Stylesheets \/ Comments [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,8],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","hentry","category-css","category-html"],"_links":{"self":[{"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":50,"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"predecessor-version":[{"id":224,"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/posts\/162\/revisions\/224"}],"wp:attachment":[{"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kineo.de\/blog\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}