Tutorial: Thumbnail

Inhalt

  1. Prinzip
  2. Quellcode
    1. CSS-Quellcode
    2. HTML-Quellcode
  3. Beispiel

Prinzip

In einer Tabellenzeile kann angegeben werden, wie der Text vertikal ausgerichted werden soll. Dies kann man mit CSS simulieren. Es benötigt dafür 3 Elemente welche mit Unterschiedlichen display Werten verändert werden.

Leider unterstütz der Internet Explorer (bis einschliesslich IE7) diese display varianten nicht, jedoch kann ein Fehler in der Engine des IE ausgenutzt werden um den selbigen Effekt zu erzielen:

Quellcode im Detail

CSS

  1. ul.thumbnails li {
  2. position:relative;/* Damit der IE es richtig anzeigt */
  3. display:table;
  4. width:200px;
  5. height:200px;
  6. float:left;
  7. margin-left:5px
  8. background-color:#000;
  9. }

Das Display wird vom IE als block interpretiert, da er den Wert nicht kennt.

Die folgenden Werte sind nur für die schöne Darstellung der Thumbnails vonnöten: width, height, float, marign-left, background-color.

  1. ul[class="thumbnails"] li {
  2. position:static;
  3. }

Für w3c-Kompatible Browser wird position:static wieder zurückgestellt.

  1. *+html ul[class="thumbnails"] li {
  2. position:relative;
  3. }

IE7 Hack-Damit da die Display angaben mit table nicht unterstützt werden

  1. ul.thumbnails li a {
  2. display:table-cell;
  3. width:100%;
  4. text-align:center;
  5. vertical-align:middle;/* IE */
  6. position:absolute;/* IE */
  7. top:50%;
  8. }

Der Inhalt wird zentriert mit vertical-align:middle. Der IE jedoch benötigt noch weitere Angaben (Siehe Prinzip)

  1. ul[class="thumbnails"] li a {
  2. position:static;
  3. }
  4. *+html ul[class="thumbnails"] li a {/* IE7 */
  5. position:absolute;
  6. }
  7. ul.thumbnails li a img {
  8. position:relative;
  9. top:-50%;
  10. }
  11. ul[class="thumbnails"] li a img {
  12. position:static;
  13. }
  14. *+html ul[class="thumbnails"] li a img {
  15. position:relative;
  16. }

HTML

  1. <ul class="thumbnails">
  2. <li><a href="#"><img src="blubb.bmp" alt="der Blubber in Action" /></a></li>
  3. </ul>

Beispiel

Das Beispiel der Thumbnails begutachten

Dieser Code wurde erfolgreich getestet in folgenen Browsern: