2. Jens Grochtdreis
‣ Frontendentwickler
‣ 10 Jahre Agenturerfahrung
‣ 11 Jahre Arbeit im und fürs Web
‣ Gründer der Webkrauts
‣ Blogger
‣ Autor des PHPMagazins, PHPUser,
Webstandards-Magazins, T3N
‣ Fachliche Buchbetreuung bei Galileo, O'Reilly, MuT
5. Sisyphosarbeit
‣ Aufgaben, die trotz größter Mühe so gut wie nie
beendet werden können, nennen wir Sisyphosarbeit.
‣ Ursprung: griechische Mythologie
‣ Bei Camus: „ständige Revolte gegen die Sinnlosigkeit
der Welt“
9. Der IE ist der schwarz-weiss
Fernseher des Web
IE bis Version 8 moderne Browser
http://home.snafu.de/wumpus/rdfmu46.jpg http://www.home-cinema-news.de/bilder/news/d_000474_01_de.jpg
18. Vermutung
‣ Nach 2001 entstanden viele Intranet-Applikationen, die
genau auf den IE6 zugeschnitten wurden.
‣ Man hatte vielleicht den Eindruck, die technische
Entwicklung höre auf.
‣ Microsoft befeuert dieses Missverständnis mit der
Garantie sehr langer Supportmodelle.
22. self-fullfilling prophecy
Die sich selbsterfüllende
Prophezeiung ist eine
Vorhersage, die sich deshalb
erfüllt, weil sich der
Vorhersagende, meist
unbewusst, so verhält, dass
sie sich erfüllen muss.
http://de.wikipedia.org/wiki/Selbsterf%C3%BCllende_Prophezeiung http://blogs.sitepointstatic.com/images/tech/121-ie6-mod-orange.jpg
37. Flexibilität ist wichtig
‣ Wir können nicht mehr sicher vorhersagen, wie
jemand unsere Seite sieht/liest.
‣ Deshalb: einen für möglichst viele gangbaren Weg
beschreiten
‣ Erst der Inhalt, dann das Layout!
‣ Der Inhalt ist das Wichtigste!
38. Um der Flexibilität gerecht zu
werden und zukunftsfähig zu sein,
müssen wir ein neues Denken
entwickeln.
42. Kosten
‣ Zeit für Recherche, Tests und Implementierung
‣ Nicht jede Lösung taugt für jeden Anwendungsfall
‣ Zusätzliches HTML und Bilder erschweren die
Wartung, Pflege und Anpassung
46. Runde Ecken - The ThrashBox
<div class="sidebox">
<div class="boxhead"><h2>Test Headline</h2></div>
<div class="boxbody">
<p>This is a short sample paragraph.</p>
<p>And another one.</p>
</div>
</div>
.sidebox {
background: url(sbbody-r.gif) no-repeat bottom right;
}
.boxhead {
background: url(sbhead-r.gif) no-repeat top right;
}
.boxhead h2 {
background: url(sbhead-l.gif) no-repeat top left;
}
.boxbody {
background: url(sbbody-l.gif) no-repeat bottom left;
}
http://www.vertexwerks.com/tests/sidebox/
47. Runde Ecken - The ThrashBox
<div class="sidebox">
<div class="boxhead"><h2>Test Headline</h2></div>
<div class="boxbody">
<p>This is a short sample paragraph.</p>
<p>And another one.</p>
</div>
</div>
http://www.vertexwerks.com/tests/sidebox/
48. Wartungshölle
‣ Für jede Farbe eine eigene Grafik (auch für
hover bei Links!)
‣ Runde Ecken auf Verläufen oder Transparenzen
sind ganz übel als Grafik
‣ Jede Änderung und Anpassung geschieht in
Photoshop/Fireworks
‣ Viele Requests
‣ Keine Skalierung
49. Runde Ecken für moderne
Browser
.box {
border: 2px solid #eee;
border-radius: 0.6em;
-moz-border-radius: 0.6em;
-webkit-border-radius: 0.6em;
}
/* Ohne die folgende Zeile ragen die Ecken der Überschrift aus der Box raus.
Der gleiche Radius darf es auch nicht sein, sonst entsteht eine Lücke.
Es scheint immer die Hälfte sein zu müssen.
*/
.box h3 {
border-top-left-radius: 0.3em;
border-top-right-radius: 0.3em;
-moz-border-radius-topleft: 0.3em;
-moz-border-radius-topright: 0.3em;
-webkit-border-top-left-radius: 0.3em;
-webkit-border-top-right-radius: 0.3em;
}
50. Rom, die Frisur hält
‣ Auch für Bilder!
‣ Auch auf Verläufen!
‣ Auch in em oder %!
‣ Schatten für Bilder
‣ maximale Flexibilität!
52. Noch einmal: die „Kosten“
‣ 4 Bilder
‣ Farbänderungen, Anpassungen evtl. Schatten
‣ Anpassung der Rundungen
‣ mind. 1 zusätzlicher Request
‣ wie groß muss das Sprite werden, wenn die Seite
flexibel sein soll?
58. Ohne Layouttabellen
‣ Die Elemente einer Seite haben keine
Beziehung zueinander, es sei denn, es sind
Kindelemente!
‣ Die eine Box bekommt nichts von der Höhe
der anderen mit.
‣ Javascript ist ein sicheres Hilfsmittel.
‣ Rate mal, wer display: table nicht kennt!
60. Das DOM
div#teaser.subcolumns
div.c33l div.c33l div.c33r
div.subcl div.subc div.subcr
h3 p p.weiter h3 p p.weiter h3 p p.weiter
61. Gleich hohe Boxen
für moderne Browser und IE ab Version 8
moderne Browser
.equalize > div { .equalize, .equalize .subcolumns {
display:table-cell; overflow:visible;
float:none; display:table;
margin:0; table-layout:fixed;
overflow:hidden; }
vertical-align:top;
IE6 und 7 }
http://yaml.de http://www.positioniseverything.net/articles/onetruelayout/equalheight
62. Gleich hohe Boxen
für IE bis Version 7
moderne Browser
/* Fix for:"Linking to anchors in elements within the containing block" Problem in IE5.x & IE 6.0 */
* html .equalize, * html .equalize .subcolumns { overflow:visible; display:block; }
.equalize, .equalize .subcolumns { overflow:hidden; display:block; }
/* transform CSS tables back into floats */
.equalize .c20l,.equalize .c40l,.equalize .c60l,.equalize .c80l,
IE6 und 7
.equalize .c25l,.equalize .c33l,.equalize .c38l,.equalize
.equalize .c62l,.equalize .c66l,.equalize .c75l {
.c50l,
float:left; display:inline;
padding-bottom:32767px;
margin-bottom:-32767px;
}
.equalize .c20r,.equalize .c40r,.equalize .c60r,.equalize .c80r,
.equalize .c25r,.equalize .c33r,.equalize .c38r,.equalize .c50r,
.equalize .c62r,.equalize .c66r,.equalize .c75r {
float:right; margin-left:-5px; display:inline;
padding-bottom:32767px;
margin-bottom:-32767px;
}
http://yaml.de http://www.positioniseverything.net/articles/onetruelayout/equalheight
63. Gleich hohe Boxen
unproblematisch
problematisch
http://www.yaml.de/de/dokumentation/anwendung/subtemplates.html
64. Problematisch: Semantik
‣ zwei komplett getrennte
Containerblöcke.
‣ Kein inhaltlicher
Zusammenhang.
‣ Schlecht für
Screenreader und
Suchmaschinen.
65. Problemfall unterer Rand
‣ Für den IE bis Version 7 kommt ein großer
Innenabstand mit gleichgroßem negativem
Aussenabstand zum Einsatz.
‣ Dadurch ist eine untere Linie unmöglich!
71. Flexibilität ist Stärke
Die Flexibilität des Internet ist seine Stärke.
Akzeptiert es! Macht Euch locker!
http://snipurl.com/2c1yl
72. Jens Grochtdreis
http://grochtdreis.de
http://twitter.com/Flocke
http://webkrauts.de
Diese Präsentation steht unter
der Creative Commons Lizenz
„Attribution-ShareAlike 2.0“
http://creativecommons.org/licenses/by-sa/2.0/de/