Fieldset und Legend im IE8

Fieldset und Legend im IE8

Beitragvon Supertramp » 30.04.2010, 08:39

Dieser HTML Code:

Code: Alles auswählen
<html>
<head>
   <title>Test</title>
</head>
<body>
   <form>
      <fieldset>
         <legend>Question</legend>
         <textarea name="question" rows="5" cols="41"></textarea>
      </fieldset>
      <fieldset>
         <input type="submit" name="send" value="Send">
      </fieldset>
   </form>
</body>
</html>


Zeigt den LEGEND Tag im IE8 und im IE7 genau gleich an:
Bild

Füge ich dem HTML Code jedoch noch den DOCTYPE hinzu:
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <title>Test</title>
</head>
<body>
   <form>
      <fieldset>
         <legend>Question</legend>
         <textarea name="question" rows="5" cols="41"></textarea>
      </fieldset>
      <fieldset>
         <input type="submit" name="send" value="Send">
      </fieldset>
   </form>
</body>
</html>


Zeigt es der IE7 immer noch gleich an:
Bild

Der IE8 zeigt jetzt hingegen an:
Bild

Mein Problem ist, dass auf der gesamten Homepage die LEGEND und FIELDSET Tags mit CSS formatiert werden:
/*----------------------------*/
fieldset {
padding: 0 0 20px 0;
margin: 0;
border: 0;
}
legend {
position: relative;
font-size: 11px;
font-weight: bold;
left: -7px;
padding: 10px 0 5px 0;
margin: 0;
color: #000;
}
/*----------------------------*/

Bisher wurde es vom IE6 und IE7 so dargestellt:
Bild

Der IE8 zeigt es jetzt aber eben so an
(weil auf jeder HTML Seite der DOCTYPE natürlich angegeben ist):
Bild


Gibt es eine Möglichkeit, dem IE8 irgendwie mitzuteilen, dass er das LEGEND Tag gleich darstellen soll wie der IE7?

Ideal wäre, wenn ich direkt im CSS unterscheiden könnte ob es IE7 oder IE8 ist...

Beim IE7 könnte man im Stylesheet für LEGEND das "left: -7px" drinlassen,
beim IE8 müsste man stattdessen das "left: 0" verwenden...

Etwas in dieser Art (was zwar funktionieren würde) kann ich leider nicht verwenden:
<!--[if IE 8]>
<link href="<%anc_css_ie8%>" rel="stylesheet">
<![endif]-->

In diesem ie8.css würde dann z.B. nur drinstehen:

legend {
left: 0;
}

Es nimmt mich einfach wunder, ob es evtl. sonst noch eine Möglichkeit gibt, dem IE8 mitzuteilen, dass er das LEGEND gleiche wie IE7 darstellen soll (wenn das DOCTYPE angegeben ist).
Benutzeravatar
Supertramp
neu hier
 
Beiträge: 9
Registriert: 23.12.2009, 18:08

Re: Update

Beitragvon Supertramp » 30.04.2010, 12:12

Habe soeben noch festgestellt:

Wenn man die HTML Datei (mit dem DOCTYPE) vom lokalen Laufwerk (C:\) lädt,
dann zeigt der IE8 eben (wie oben gezeigt) an:
Bild

Lädt man aber die gleiche HTML Datei von einem Netzlaufwerk (G:\),
dann zeigt es der IE8 wieder gleich wie IE7 an:
Bild
Benutzeravatar
Supertramp
neu hier
 
Beiträge: 9
Registriert: 23.12.2009, 18:08

Lösung

Beitragvon Supertramp » 30.04.2010, 12:14

1.)
Die erste mögliche Lösungsvariante wäre (ist hier jedoch nicht erwünscht):
Bild

2.)
Also habe ich es so gemacht:
Bild


Gruss,
Supertramp
Benutzeravatar
Supertramp
neu hier
 
Beiträge: 9
Registriert: 23.12.2009, 18:08


Moderatoren: Laus, Moderatoren

Ähnliche Beiträge zu "Fieldset und Legend im IE8"

Zurück zu: CSS für Anfänger

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron