Schnellnavigation:

Kategorien

« Juni 2011»
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Letzte Nachrichten

DSGVO
26.05.2018 18:39
Trackingtools und Datenschutzerklärung
14.03.2014 23:07
1:n und n:1 Relationen in Extbase
06.12.2013 12:04
Erste Abmahnungen wegen Google Analytics
04.10.2013 12:11

Kopieren Sie diesen Link in Ihren RSS-Reader

RSS 0.91Nachrichten
RSS 2.0Nachrichten

In eigener Sache

Peter Linzenkirchner, Lisardo EDV Beratung in Augsburg. Freelance und Partner für Design- und Webagenturen in Augsburg und München. Pixelgenaue Templates, valides HTML, barrierearm. TYPO3-Projekte, Extension-Programmierung und mehr ... 

Die Formatierung von Definitionslisten mit CSS finde ich immer etwas knifflig, vor allem, wenn sie benutzt werden, um Formulare zu gestalten. Ziel ist hier, den Definition-Term (dt) mit den Labels links floaten zu lassen, und Definition-Data (dd) mit den Feldinhalten direkt daneben zu setzen. Das geht im Allgemeinen so lange gut, bis eines der beiden Elemente mehrzeilig wird: dann stehen beide Elemente plötzlich nicht mehr in einer Zeile. 

Das Problem liegt darin, dass dt und dd nicht wie üblich mit einem eigenen Container umgeben werden können, der für das Clearing benutzt werden kann. Der Trick liegt letztlich darin, mit Hilfe von »:after« ein Clearing nach dd zu erzwingen:

  1. dd:after {
  2.   content:".";
  3.   display:block;
  4.   clear:left;
  5.   height:0;
  6.   visibility:hidden;
  7. }

Damit erreicht man eine saubere Ausrichtung der beiden Elemente auf eine Zeile, wie das folgende Beispiel zeigt.

Eine kleine Einleitung
Und die passende Beschreibung.
Eine kleine Einleitung, die vielleicht auch mal mehrere Zeilen haben kann.
Und die passende Beschreibung.
Eine kleine Einleitung
Und die passende Beschreibung, die selbstverständlich auch mehrere Zeilen haben kann, und in dem Fall das auch haben soll, deshalb schreibe ich mir hier einen Wolf.
Eine kleine Einleitung. Sinn dieses Tests: Definition-Term und Definition-Data müssen zueinanderpassen.
Und die passende Beschreibung.
Eine kleine Einleitung
Und die passende Beschreibung.

Achtung! Das Beispiel enthält einen kleinen Trick: die Linien zur Abgrenzung wurden oberhalb von dt und dd definiert (border-top), unterhalb (also border-bottom) geht nicht! Die floatenden dt-Elemente sind nämlich wie alle floatenden Boxen prinzipiell nur so hoch wie ihr Inhalt, was zur Konsequenz hat, dass in der dt-Spalte eine untere Linie immer direkt unter dem Text steht.

Dazu fällt mir nur ein, in diesem Fall eben border-bottom (und background) nicht zu verwenden. 

Kategorien: Sonstiges  
Links:
Trackback-Link  (Bitte kopieren)
 
| Mehr
  •  
  • Kommentare
  •