<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:admin="http://webns.net/mvcb/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
<channel>
    
    <title>YellowLeds Weblog v2</title>
    <link>http://mees.scorpius.uberspace.de/</link>
    <description>Artikel über Webdesign, Webstandards und Serendipity von Matthias Mees</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 1.6 - http://www.s9y.org/</generator>
    <managingEditor>mm@yellowled.de</managingEditor>
<webMaster>mm@yellowled.de</webMaster>
<pubDate>Mon, 10 Oct 2011 21:02:00 GMT</pubDate>

    <image>
        <url>http://mees.scorpius.uberspace.de/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: YellowLeds Weblog v2 - Artikel über Webdesign, Webstandards und Serendipity von Matthias Mees</title>
        <link>http://mees.scorpius.uberspace.de/</link>
        <width>100</width>
        <height>21</height>
    </image>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/YellowledsWeblog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="yellowledsweblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
    <title>Fluides Grid – oder doch nicht?</title>
    <link>http://mees.scorpius.uberspace.de/archiv/18/Fluides-Grid-oder-doch-nicht.html</link>
            <category>Webdesign</category>
    
    <comments>http://mees.scorpius.uberspace.de/archiv/18/Fluides-Grid-oder-doch-nicht.html#comments</comments>
    <wfw:comment>http://mees.scorpius.uberspace.de/wfwcomment.php?cid=18</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://mees.scorpius.uberspace.de/rss.php?version=2.0&amp;type=comments&amp;cid=18</wfw:commentRss>
    

    <author>nospam@example.com (Matthias Mees)</author>
    <content:encoded><![CDATA[
    <p><span lang="en">Responsive Webdesign</span> fordert per definitionem die Verwendung eines fluiden <span lang="en">Grids</span> als <span lang="en">Layout</span>-Basis. Grundsätzlich ist das absolut sinnvoll, passt sich ein fluides <span lang="en">Design</span> doch zumindest innerhalb bestimmter Dimensionen automagisch an die Bildschirmauflösung an – es muss lediglich an den sogenannten <span lang="en">breaking points</span>, an denen das <span lang="en">Layout</span> nicht mehr „passt“, angepasst werden.</p>

<p>Unabhängig von einem möglicherweise verwendeten <span lang="en">Framework</span> sind alle fluiden <span lang="en">Grids</span> gleich aufgebaut: Es gibt eine festgelegte Anzahl Spalten, welche durch Abstände, sogenannte <span lang="en">Gutter</span>, horizontal getrennt werden. Bei fluiden <span lang="en">Grids</span> werden sowohl die Breiten der Spalten als auch die der <span lang="en">Gutter</span> in Prozent angegeben.</p>

<p>Aber machen diese Eigenschaften eines fluiden (oder auch fixen) <span lang="en">Grids</span> in einer responsiven Umgebung überhaupt noch Sinn? 12 oder 16 Spalten auf kleinen <span lang="en">Smartphones</span>? Proportional zur Breite anwachsende <span lang="en">Gutter</span>, die zu einer Art „Zieharmonika-Effekt“ führen? Ausnutzung des zur Verfügung stehenden Platzes auf größeren Bildschirmen durch breitere statt durch <em>mehr</em> Spalten?</p>

<h3>Eine mögliche Lösung</h3>

<p>Das <a href="http://goldengridsystem.com"><span lang="en">Golden Grid System</span></a> von Joni Korpi zeigt einen möglichen Lösungsansatz: Ein „Falt-<span lang="en">Grid</span>“, dessen Spaltenanzahl sich an der zur Verfügung stehenden Breite des Bildschirms orientiert. Die 16 Spalten der großen <span lang="en">Desktop</span>-Bildschirme werden für <span lang="en">Tablets</span> auf 8 und für <span lang="en">Smartphones</span> auf 4 Spalten „zusammengeklappt“. Als „Abfallprodukt“ kommt das <span lang="en">Golden Grid</span> ohne „seltsame“ Spaltenbreiten wie <abbr title="zum Beispiel">z.B.</abbr> 8.33333333 Prozent aus</p>

<p>Zudem wird das <span lang="en">Gutter</span> nicht über Außenabstände (<code>margin</code>), sondern Innenabstände (<code>padding</code>) der <span lang="en">Grid</span>-Boxen erzeugt – was die Schwäche dieses Ansatzes ist. Die dafür notwendige <abbr title="Cascading StyleSheets" lang="en">CSS</abbr>-Eigenschaft <code>box-sizing</code>, welche das <span lang="en">box model</span> des betreffenden Elementes ändert, wird nur von neuesten <span lang="en">Browsern</span> unterstützt, speziell ältere Versionen des <span lang="en">Internet Explorers</span> scheitern also an dieser Technik.</p>

<h3>Anders, komplizierter und einfacher</h3>

<p>Nehmen wir nun an, man würde das <span lang="en">Gutter</span> nicht über die Innenabstände der <span lang="en">Grid</span>-Boxen, sondern die Außenabstände von deren Kindelementen erzeugen – also kein <code>padding</code> per <code>box-sizing</code> für einen <span lang="en">Container</span>, sondern horizontaler <code>margin</code> für die in diesem enthaltenen Elemente. Das funktioniert in allen <span lang="en">Browsern</span> problemlos und ist kein optischer, sondern lediglich ein technischer Unterschied.</p>

<p>Will man diese Abstände allerdings – wie das <code>padding</code> im <span lang="en">Golden Grid</span> – in <code>em</code> angeben, artet das ziemlich in (Rechen-)Arbeit aus. Solche Berechnungen lassen sich mit CSS-Präprozessoren wie <a href="http://lesscss.org">LESS</a> oder <a href="http://sass-lang.com">SASS</a> recht bequem automatisieren, im gleichen „Rutsch“ kann man den Präprozessor auch über <span lang="en">Mixins</span> das Erzeugen der <span lang="en">Grids</span> für die verschiedenen Auflösungen erledigen lassen.</p>

<p>Unfug oder sinnvolle Anpassung fluider <span lang="en">Grids</span> an <span lang="en">Responsive Webdesign</span>?</p>  
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=GPk9kk_xyD0:4PgPOQwx90w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=GPk9kk_xyD0:4PgPOQwx90w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?i=GPk9kk_xyD0:4PgPOQwx90w:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/YellowledsWeblog/~4/GPk9kk_xyD0" height="1" width="1"/>]]></content:encoded>

    <pubDate>Mon, 10 Oct 2011 14:22:00 +0200</pubDate>
    <guid isPermaLink="false">http://mees.scorpius.uberspace.de/archiv/18/guid.html</guid>
    <category>grid</category>
<category>responsive</category>
<category>webdesign</category>

</item>
<item>
    <title>Wieso ich keine Grid-Frameworks (mehr) benutze</title>
    <link>http://mees.scorpius.uberspace.de/archiv/17/Wieso-ich-keine-Grid-Frameworks-mehr-benutze.html</link>
            <category>Webdesign</category>
    
    <comments>http://mees.scorpius.uberspace.de/archiv/17/Wieso-ich-keine-Grid-Frameworks-mehr-benutze.html#comments</comments>
    <wfw:comment>http://mees.scorpius.uberspace.de/wfwcomment.php?cid=17</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://mees.scorpius.uberspace.de/rss.php?version=2.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    

    <author>nospam@example.com (Matthias Mees)</author>
    <content:encoded><![CDATA[
    <p>Ich bekenne: Ich war ein großer Fan von <span lang="en">Grid-Frameworks</span>. Für jemanden, der grundsätzlich mit HTML-Prototypen arbeitet und dadurch weite Teile der Gestaltung einer Webseite im <span lang="en">Browser</span> macht, gibt es fast nichts Praktischeres, speziell wenn das Erstellen von Prototypen schnell gehen soll. Man nehme zum Beispiel <a href="http://960.gs">960.gs</a>, binde dessen <span lang="en">Stylesheets</span> ein, verteile ein paar (leider meist wenig semantische) CSS-Klassen und eventuell noch ein paar <code>&lt;div&gt;</code>-Elemente im Quell<span lang="en">code</span> – fertig ist der Prototyp. Dabei ist relativ egal, ob man nun 960.gs oder eine der zahlreichen Alternativen wählt – die meisten <span lang="en">Grid-Frameworks</span> halten, was sie versprechen: Ein harmonisches, wohldefiniertes Layout schnell umzusetzen, ohne sich um <span lang="en">Browser-Bugs</span> Gedanken machen zu müssen.</p>
<h3>Was bisher geschah …</h3>
<p>Wie ich <a href="http://yellowled.de/archiv/12/Responsive-CSS-Frameworks.html">bereits beschrieb</a>, halte ich <span lang="en">Grid-Frameworks</span> für eher wenig tauglich für <span lang="en">Responsive Webdesign</span>, letzteres aber für eine unbedingt zu verinnerlichende und in den alltäglichen <span lang="en">Workflow</span> zu integrierende Technik. Damit fällt nicht nur 960.gs (welches ohnehin mit fixen Breiten arbeitet) weg, sondern auch etliche andere Frameworks, <abbr title="zum Teil">z.T.</abbr> selbst die Vertreter, welche ein fluides <span lang="en">Grid</span> bereit stellen – sie machen individuelle Anpassungen erforderlich, vertragen sich wenig mit „<span lang="en">mobile first</span>“, weil sie es nicht bedenken, und sind normalerweise spätestens dann unbrauchbar, wenn man eine grafische Vorlage zur Umsetzung angeliefert bekommt. Dann kann man sich genausogut gleich ein <a href="http://www.alistapart.com/articles/fluidgrids">fluides Grid selbst bauen</a>, der Unterschied im Aufwand ist eher gering.</p>
<h3>Neue <span lang="en">Frameworks</span></h3>
<p>Nun ist es durchaus nicht so, dass sich seit 960.gs und Co. nichts getan hätte. Es gibt neue Ansätze und Ideen für fluide und responsive <span lang="en">Grid-Layouts</span>, die durchaus vielversprechend aussehen:</p>
<ul>
<li>Das <a href="http://semantic.gs"><span lang="en">Semantic Grid System</span></a> setzt basierend auf dem CSS-Präprozessor <a href="http://lesscss.org">LESS</a> fixe, fluide und responsive <span lang="en">Layouts</span> mit verblüffend wenig selbst zu schreibendem Code um. Mein Problem damit ist die zusätzliche Schicht in Form von LESS – es würde den Rahmen sprengen, es hier detailliert zu erklären, aber ich habe noch keinen CSS-Präprozessor gefunden, der sich ohne Widerhaken in meine individuelle Arbeitsweise integriert.</li>
<li>Das <a href="http://goldengridsystem.com"><span lang="en">Golden Grid System</span></a> hat aus meiner Sicht ähnliche „Probleme“ wie sein Vorgänger <a href="http://lessframework.com">Less Framework</a> – die grundsätzlichen Ideen dahinter sind gut und richtig, aber (z.T. durch Einschränkungen durch die fehlende CSS3-Unterstützung) praktisch nicht effizient umzusetzen. Benutzt man es konsequent, hat man damit zudem relativ viel Arbeit, weil es kaum Klassen vordefiniert (was vom Ansatz her grundsätzlich gut, aber eben aufwändig ist).</li>
</ul>
<h3>Gibt's da nichts vom W3C?</h3>
<p><em>Noch</em> nicht. CSS3 enthält ein paar vielversprechende Module, welche das Layout-Problem im Web beheben sollen – letztlich kann man selbst die <span lang="en">Layouts</span>, die wir jetzt benutzen (müssen), als Zweckentfremdung der <code>float</code>-Eigenschaft betrachten. Die Module <a href="http://www.w3.org/TR/css3-layout/"><span lang="en">Template Layout</span></a>, <a href="http://www.w3.org/TR/css3-grid/"><span lang="en">Grid Positioning</span></a> und <a href="http://www.w3.org/TR/css3-flexbox/"><span lang="en">Flexible Box Layout</span></a> werden uns großartige Möglichkeiten geben und <span lang="en">Grid-Frameworks</span> vermutlich überflüssig machen, wenn sie denn erstmal mehr als nur ein Entwurf sind.</p><p>Bis dahin allerdings halte ich es für die sauberste und beste Lösung, <span lang="en">Grid-Layouts</span> individuell von Hand zu bauen, auch wenn das mehr Arbeitsaufwand bedeutet.</p>  
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=xl4646nmlsk:OwXZ9CToqkY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=xl4646nmlsk:OwXZ9CToqkY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?i=xl4646nmlsk:OwXZ9CToqkY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/YellowledsWeblog/~4/xl4646nmlsk" height="1" width="1"/>]]></content:encoded>

    <pubDate>Sun, 28 Aug 2011 19:06:00 +0200</pubDate>
    <guid isPermaLink="false">http://mees.scorpius.uberspace.de/archiv/17/guid.html</guid>
    <category>grid</category>
<category>responsive</category>
<category>thoughts</category>
<category>webdesign</category>

</item>
<item>
    <title>Vergesst Bildschirmauflösungen!</title>
    <link>http://mees.scorpius.uberspace.de/archiv/16/Vergesst-Bildschirmaufloesungen!.html</link>
            <category>Webdesign</category>
    
    <comments>http://mees.scorpius.uberspace.de/archiv/16/Vergesst-Bildschirmaufloesungen!.html#comments</comments>
    <wfw:comment>http://mees.scorpius.uberspace.de/wfwcomment.php?cid=16</wfw:comment>

    <slash:comments>13</slash:comments>
    <wfw:commentRss>http://mees.scorpius.uberspace.de/rss.php?version=2.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    

    <author>nospam@example.com (Matthias Mees)</author>
    <content:encoded><![CDATA[
    <p>Oft wird in Artikeln und Diskussionen zum Thema <a href="http://yellowled.de/plugin/tag/responsive"><span lang="en">Responsive Webdesign</span></a> die Frage gestellt, welche Auflösungen, Breiten oder Geräte ein Layout bedienen solle. Man kann nicht oft genug betonen, dass diese Herangehensweise von einem falschen Verständnis der Technik zeugt. Daher: Vergesst Bildschirmauflösungen! (Vergesst <em>auch</em> <a href="http://yellowled.de/archiv/8/Responsive-Webdesign-Geraete-Agnostik.html">Gerätetypen</a>.)</p><p>Jeder kennt das Spiel <a href="http://de.wikipedia.org/wiki/Schere,_Stein,_Papier">Schere, Stein, Papier</a>. Übertragen auf <span lang="en">Responsive Webdesign</span> müsste es eine Regel namens „<span lang="en">Layout</span> übertrumpft Auflösung“ geben. Denn es geht weder darum, eine Seite „für das <span lang="en">iPad</span>“ noch „für 768 Pixel Breite“ zu optimieren – das sind Relikte aus den Anfangstagen unserer jungen Zunft, in denen wir (viel zu) viel aus der artverwandten <span lang="en">Print</span>-Ecke übernommen haben.</p><h3>Frage nicht, was das <span lang="en">Display</span> hergibt …</h3><p>Ich glaube, dass <em>jedes</em> <span lang="en">responsive Layout</span> individuell umgesetzt werden sollte. Der entscheidende Aspekt dieser Technik sind die „<span lang="en">breaking points</span>“, also die Breiten, ab denen ein von Natur aus flexibles Basis-<span lang="en">Layout</span> nicht mehr vernünftig lesbar ist und mit <span lang="en">Media queries</span> korrigiert <abbr title="beziehungsweise">bzw.</abbr> umgestellt werden muss.</p><p>Diese Punkte sollten aber <strong>nicht</strong> durch bestimmte Geräte und ihre Auflösungen definiert werden, sondern durch <span lang="en">Layout</span> und <span lang="en">Design</span> sowie die Frage, in welcher Auflösung sie funktionieren. Nebenbei macht dieser Ansatz ein bestimmtes <span lang="en">Design</span> auch zukunftssicherer in Bezug auf neu erscheinende Geräte.</p><h3>… frage, wonach das <span lang="en">Layout</span> verlangt</h3><p>Konkret prüft man also (unabhängig vom Gerät), innerhalb welcher Bereiche der Breite ein bestimmtes <span lang="en">Layout</span> „funktioniert“ und passt es außerhalb dieser Bereiche an. Das ist der entscheidende Unterschied dieser Technik zur vertrauten Vorgehensweise. Das wird noch klarer, wenn man sich des Ansatzes „<a href="http://www.lukew.com/ff/entry.asp?933"><span lang="en">mobile first</span></a>“ bedient. Dann lautet die Frage auch nicht mehr, ab welcher <span lang="en">Viewport</span>-Breite ein <span lang="en">Layout</span> <em>nicht mehr</em> funktioniert – dann geht es darum, ab welcher Breite bestimmte Aspekte des <span lang="en">Layouts</span> und <span lang="en">Designs</span> erst <em>möglich</em> oder <em>sinnvoll</em> sind.</p><p>Eine Einschränkung in puncto Geräte gibt es, aber auch die sollte unabhängig von der Auflösung gesehen werden. Die meisten kleinen <span lang="en">Displays</span> sind heutzutage <span lang="en">Touchscreens</span>, für die man das <span lang="en">Design</span> durchaus anpassen sollte – in Form größerer Buttons und anders gestalteter Navigationselemente etwa.</p><p><span lang="en">Responsive Web Design</span> ist also idealerweise quasi <a href="http://en.wikipedia.org/wiki/Progressive_enhancement"><span lang="en">Progressive Enhancement</span></a> für Layouts, ähnlich dem Ansatz, den <a href="http://modernizr.com"><span lang="en">Modernizr</span></a> nutzt: Entscheidend ist nicht, welcher <span lang="en">Browser</span> eine Seite anfordert; entscheidend ist, was in diesem <span lang="en">Browser</span> möglich ist. Der gemeinsame Vorteil dieser Ansätze ist, dass sie uns unabhängig von Dingen machen, die wir ohnehin nicht hinreichend zuverlässig vorhersagen können – beispielsweise die Bildschirmauflösungen, mit denen unsere Webseiten betrachtet werden.</p>  
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=ma3m_9Kamdc:6HocQpVmQGs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=ma3m_9Kamdc:6HocQpVmQGs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?i=ma3m_9Kamdc:6HocQpVmQGs:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/YellowledsWeblog/~4/ma3m_9Kamdc" height="1" width="1"/>]]></content:encoded>

    <pubDate>Fri, 17 Jun 2011 20:06:00 +0200</pubDate>
    <guid isPermaLink="false">http://mees.scorpius.uberspace.de/archiv/16/guid.html</guid>
    <category>evangelism</category>
<category>responsive</category>
<category>webdesign</category>

</item>
<item>
    <title>Responsive Baustellen</title>
    <link>http://mees.scorpius.uberspace.de/archiv/15/Responsive-Baustellen.html</link>
            <category>Webdesign</category>
    
    <comments>http://mees.scorpius.uberspace.de/archiv/15/Responsive-Baustellen.html#comments</comments>
    <wfw:comment>http://mees.scorpius.uberspace.de/wfwcomment.php?cid=15</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://mees.scorpius.uberspace.de/rss.php?version=2.0&amp;type=comments&amp;cid=15</wfw:commentRss>
    

    <author>nospam@example.com (Matthias Mees)</author>
    <content:encoded><![CDATA[
    <p>Es ist kein Geheimnis, dass <span lang="en">Responsive Web Design</span> nicht länger nur „sowas Neues, was jetzt viele <span lang="en">Designer</span> ausprobieren“ ist. Ich glaube allerdings nicht, dass es bereit für den Einsatz auf <em>ganz</em> großen Portalen mit komplexen <span lang="en">Layouts</span> ist. Noch nicht. Zu jung ist die Technik als solche, speziell die benötigten Komponenten wie etwa <a href="http://yellowled.de/archiv/4/Responsive-Webdesign-Problemfall-img.html">fluide Grafiken</a>. Aber es entwickelt sich.</p><h3>Media-Query-Krücken</h3><p>Bekanntlich unterstützen verschiedene ältere Generationen gängiger <span lang="en">Browser</span> die Kernkomponente <code>@media</code> in Kombination mit Dimensionsangaben nicht. Das gilt nicht <em>nur</em> für den allseits beliebten Wunder<span lang="en">browser</span> aus Redmond, aber dort fällt es ins Gewicht &ndash; der gemeine Nutzer von <span lang="en">Firefox</span>, Chrome &amp; Co. ist ja eher <span lang="en">update</span>freudig (und in der Lage dazu).</p><p><a href="http://code.google.com/p/css3-mediaqueries-js/">css3mediaqueries.js</a> schien mir bislang die ausgereifteste Lösung, doch nun holt <a href="https://github.com/scottjehl/Respond">respond.js</a> merklich auf. Es ist schmaler und nicht ohne Tücken, wird aber aktiv entwickelt. In neuester Version kommt es ohne den Kommentar hinter der schließenden Klammer eines <code>@media</code> aus, womit es kein Problem mehr ist, das zugehörige Stylesheet zu minifizieren. Vor allem aber: respond.js ist neuerdings Teil von <span lang="en">Modernizr</span>, womit man sich einen <abbr title="HyperText Transfer Protocol" lang="en">HTTP</abbr>-<span lang="en">Request</span> sparen kann, wenn man <span lang="en">Modernizr</span> ohnehin nutzt.</p><h3>Kleiner Bildschirm <abbr title="versus">vs</abbr> Navigation</h3><p>Ein echter Stolperstein ist es nicht, eher eine „kreative Einschränkung“ – Aufbau und Gestaltung von Navigationen in <span lang="en">Layouts</span> für <em>ganz</em> kleine Bildschirme wie etwa die 320&times;480 Pixel eines <span lang="en">Smartphones</span>. Klassische Navigations<span lang="en">designs</span>, wie man sie von altbekannten Auflösungen her kennt, funktionieren da nur selten, ganz haarig wird es natürlich, wenn eine zweite Ebene oder gar eine <span lang="en">Dropdown</span>-Navigation verwendet wird.</p><p>Die Alternative für kleine Bildschirme soll kompakt sein, gleichzeitig aber möglichst große Flächen und/oder Schriften haben, damit man sie selbst mit den übelsten Wurstfingern auf einem <span lang="en">Touchscreen</span> noch bedienen kann. Da hat man rasend schnell den (ersten) Bildschirm nur mit 5 bis 6 Menüpunkten gefüllt, aber es sollte ja zumindest auch noch eine Andeutung von Inhalt erscheinen &hellip;</p><p>Der bisher pfiffigste Lösungsansatz, den ich bislang dazu gesehen habe, ist es, die Navigation am Ende des Quelltextes auszugeben und am Seitenanfang lediglich einen <span lang="en">Skiplink</span> zur Navigation zu verbauen – quasi das etwas andere „<span lang="en">content first</span>“. Auf größeren Auflösungen holt man die Navigation dann mit <code lang="en">position: absolute;</code> nach oben und verbirgt den Skiplink mit geeigneten <abbr title="Cascading Stylesheets" lang="en">CSS</abbr>-Mitteln.</p><h3>Das Buch</h3><p><span lang="en">Last, but not least</span> liegt mit <a href="http://www.abookapart.com/products/responsive-web-design"><span lang="en">Responsive Web Design</span></a> aus der allgemein ganz hervorragend gemachten und sehr lohnenswerten <span lang="en">A Book Apart</span>-Schmiede nun das gedruckte Standardwerk zum Thema vor. Dazu mehr, sobald ich mein (gedrucktes) Exemplar in den Händen halte.</p>  
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=C-rk1HEcOSg:xs7JiHemoLA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=C-rk1HEcOSg:xs7JiHemoLA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?i=C-rk1HEcOSg:xs7JiHemoLA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/YellowledsWeblog/~4/C-rk1HEcOSg" height="1" width="1"/>]]></content:encoded>

    <pubDate>Wed, 08 Jun 2011 01:23:00 +0200</pubDate>
    <guid isPermaLink="false">http://mees.scorpius.uberspace.de/archiv/15/guid.html</guid>
    <category>responsive</category>
<category>thoughts</category>
<category>webdesign</category>

</item>
<item>
    <title>Modernizr 2 - eierlegende Wollmilchsau?</title>
    <link>http://mees.scorpius.uberspace.de/archiv/14/Modernizr-2-eierlegende-Wollmilchsau.html</link>
            <category>Webdesign</category>
    
    <comments>http://mees.scorpius.uberspace.de/archiv/14/Modernizr-2-eierlegende-Wollmilchsau.html#comments</comments>
    <wfw:comment>http://mees.scorpius.uberspace.de/wfwcomment.php?cid=14</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://mees.scorpius.uberspace.de/rss.php?version=2.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    

    <author>nospam@example.com (Matthias Mees)</author>
    <content:encoded><![CDATA[
    <p>Die <span lang="en">Javascript</span>-Bibliothek <a href="http://www.modernizr.com"><span lang="en">Modernizr</span></a> hat Version 2 erreicht und damit ein paar <a href="http://www.modernizr.com/news/modernizr-2">ziemlich beeindruckende Neuerungen</a> eingeführt, die <span lang="en">Frontend</span>-Entwicklung damit <em>noch</em> mehr zum Vergnügen machen.</p><aside><h3><span lang="en">Was macht Modernizr?</span></h3><p>Vereinfacht gesagt stellt das kleine <span lang="en">Javascript</span>-Wunder verschiedene Test bereit, die prüfen, ob eine bestimmte Funktionalität (<abbr title="HyperText Markup Language" lang="en">HTML</abbr>5 oder <abbr title="Cascading StyleSheets" lang="en">CSS</abbr>3) im jeweiligen Browser zur Verfügung steht. Damit wird es sehr leicht, alternative Gestaltungen oder Lösungen (sogenannte <span lang="en">Polyfills</span>) einzubinden.</p></aside><h3>Was ist neu in Version 2?</h3><ul><li><strong><span lang="en">Media query</span>-Tests:</strong> Testen, ob der Browser <span lang="en">Media queries</span> unterstützt, bestimmte Ressourcen (CSS/<abbr title="Javascript" lang="en">JS</abbr>) abhängig von bestimmten Bildschirmdimensionen laden</li><li><strong>Ressourcen nachladen:</strong> Über den (im <span lang="en">Modernizr</span> integrierten!) <span lang="en">Loader</span> <a href="http://yepnopejs.com"><span lang="en">yepnope</span></a> können CSS- oder JS-Dateien abhängig von bestimmten Testergebnissen nachgeladen werden</li><li><strong>Präfix-Tests:</strong> Es gibt neue Tests für die sogenannten <span lang="en">vendor prefixes</span>, also proprietäre CSS-Erweiterungen einzelner <span lang="en">Browser</span></li></ul><p>Darüber hinaus kann man <span lang="en">Modernizr</span> in der neuen Version um eigene Tests erweitern sowie sich über das <a href="http://www.modernizr.com/download/"><span lang="en">Build-Tool</span></a> eine angepasste Version abholen, welche nur die tatsächlich benötigten Tests enthält.</p><h3>Ein einfaches Beispiel</h3><pre class="code" data-code-lang="js">Modernizr.load([
    {
        test: Modernizr.fontface &amp;&amp; !Modernizr.touch,
        yep: 'font/myfont.css'
    }, {
  	    load: '//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
  	    complete: function () {
  	    	if (!window.jQuery) {
  	    		Modernizr.load('js/libs/jquery-1.6.1.min.js');
  	    	}
  	    }
    }, {
        test: Modernizr.mq('only all and (max-width:480px)'),
        yep: 'css/smartphone.css'
    }
]);</pre><p>Dieses Beispiel (den <span lang="en">Code</span> hängt man an die modernizr.js an) lädt:</p><ol><li>ein Stylesheet, wie es zu den <span lang="en">Webfont-Kits</span> von <a href="http://fontsquirrel.com">FontSquirrel</a> gehört &ndash; aber <em>nur</em> in <span lang="en">Browsern</span>, die Webfonts unterstützen und nicht auf <span lang="en">Touchscreen</span>-Geräten</li><li><span lang="en">jQuery</span> vom <span lang="en">Google-<abbr title="Content Delivery Network" lang="en">CDN</abbr> oder, falls das scheitert, eine lokale Kopie als <span lang="en">Fallback</span></li><li>ein Stylesheet für <span lang="en">Smartphones</span> nur in <span lang="en">Browsern</span>, deren <span lang="en">Viewport</span> mindestens 480 <span lang="en">Pixel</span> breit ist</li></ol><p>Das demonstriert natürlich nur einen Bruchteil der Fähigkeiten von <span lang="en">Modernizr</span>, um den Rahmen dieses Artikels nicht zu sprengen. Man kann also mit Version 2 dank <span lang="en">yepnope</span>-Integration nun <span lang="en">Polyfills</span>, aber auch CSS/JS für bestimmte Umgebungen dynamisch nachladen. Genial einfach, einfach genial.</p><h3>Äh, und ohne <span lang="en">Javascript</span>?</h3><p>Bei deaktiviertem <span lang="en">Javascript</span> JS-Dateien nachzuladen ist ohnehin komplett sinnfrei &ndash; das Zauberwort heißt hier <a href="http://de.wikipedia.org/wiki/Unobtrusive_JavaScript"><span lang="en">unobtrusive JS</span></a>, also die gängige Praxis, Seiten so zu bauen, dass sie auch <em>ohne</em> JS zugänglich und benutzbar sind. Genauso sollte man natürlich auch nur CSS-Dateien per <code><span lang="en">Modernizr.load</span></code> nachladen, die verzichtbar sind <abbr title="beziehungsweise">bzw.</abbr> die nur innerhalb der Test-Bedingung notwendig sind.</p>  
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=Zag4DBJe0Tw:hzRa9At1MuQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/YellowledsWeblog?a=Zag4DBJe0Tw:hzRa9At1MuQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/YellowledsWeblog?i=Zag4DBJe0Tw:hzRa9At1MuQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/YellowledsWeblog/~4/Zag4DBJe0Tw" height="1" width="1"/>]]></content:encoded>

    <pubDate>Thu, 02 Jun 2011 21:43:00 +0200</pubDate>
    <guid isPermaLink="false">http://mees.scorpius.uberspace.de/archiv/14/guid.html</guid>
    <category>css</category>
<category>html</category>
<category>javascript</category>
<category>webdesign</category>

</item>

</channel>
</rss>
