TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

jetzt buchen

CSS Höhenangaben für Eingabefelder werden nicht korrekt angezeigt - Ursache DOCTYPE ???


Autor Nachricht
Verfasst am: 28. 04. 2009 [15:23]
rheingau360
Themenersteller
Dabei seit: 07.12.2006
Beiträge: 134
Hallo zusammen!

Im Typoscript-Setup meines Root-Templates (das alles läuft unter Typo3 4.2.6) habe ich folgende Doctype-Angaben definiert:

TYPOSCRIPT
config.doctype = xhtml_trans
config.xmlprologue = none
config.xhtml_cleaning = all
config.htmlTag_langKey = de
config.language = de
config.htmlSpecialChars = 1

Meine generierte Webseite sieht über dem Headbereich also folgendermaßen aus:

HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

Jetzt mein Problem: in meinem Projekt möchte ich verschiedene Formulare und Eingabefelder (z.B. tt_products Shop, Benutzerregistrierung, Kontaktformular, etc.) einsetzen. Für die einzelnen Extensions benutze ich jeweils eine separate CSS-Datei, in der ich unter anderem die Größen der Eingabefelder (im Kontaktformular z.B. das Feld Name oder im Shop z.B. das Feld Menge, etc.) in CSS-Klassen definiere.

Das Feld "Menge" ist in meiner CSS-Datei z.B. so als Klasse definiert:

.menge30x19 {
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
height: 19px;
width: 30px;
}

Das komische ist, dass die Breite von 30 Pixeln für dieses Eingabefeld exakt aus der verknüpften CSS-Datei übernommen wird, die Höhe - in diesem Fall 19px - allerdings nicht. Das Eingabefeld ist auf der generierten Webseite ca. 25px hoch und sieht nicht besonders schön aus...

Wenn ich die Doctype-Angaben im Root-Template entferne, bzw. auskommentiere, wird mir folgender Quelltext über dem Headbereich meiner Webseite generiert und meine Eingabefelder werden korrekt angezeigt:

HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Diesen alten Doctype kann / möchte ich allerdings nicht verwenden, da ich dann in den CSS-Eigenschaften meines HTML-Templates eingeschränkt bin. Ich denke, heute programmiert sowieso niemand mehr mit diesem alten Doctype.

Meine Frage: wer kann mir verraten, warum die Höhe meiner Eingabefelder unter dem von mir verwendeten Doctype nicht korrekt dargestellt werden? Wenn ich in der CSS-Datei eine Höhe von nur 15px definiere, hat mein Eingabefeld ca. 19px tatsächliche Höhe - aber das kann ja nur Gemurkse werden, wenn ich so weiter mache icon_smile.gif

Vielen Dank schon einmal für jeden Hinweis & Liebe Grüße,
Kai
ProfilICQ
Verfasst am: 29. 04. 2009 [19:38]
danton
Dabei seit: 21.09.2006
Beiträge: 148
Hi
Setze
HTML
display: block;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;

Gruß Danton
Profil