[HTML/CSS] <div>erenzen - CSS-Layout und fieldsets

N

Nase

Gast
<div>erenzen - CSS-Layout und fieldsets

Hi,
ich habe ein Problem bei meinem Web-Layout mittels CSS. Und zwar möchte ich gerne eine Box (width: ~600px; padding: 5px) realisieren, in der oben zwei fieldsets (width: Hälfte der Boxbreite abzgl. des paddings) nebeneinander angezeigt werden sollen. Dabei sollen links neben fieldset1 und rechts neben fieldset2 exakt 5px Abstand zur Box bleiben. Das Problem ist jetzt nur, dass nur der Internet Explorer diese direkt nebeneinander darstellen kann. Sowohl Opera als auch Mozilla können dies nicht, so dass die beiden fieldsets untereinander sind. Ein relativ einfacher Workaround wäre hier ja, die fieldsets einfach in <div>s zu setzen, was auch funktioniert. Nun aber mein eigentliches Problem. Ich bekomme es nicht hin, dass dieses in allen Browsern (ich beziehe mich vorerst nur auf den IE, Opera, Mozilla/Firebird) gleich aussieht. Ich schaffe es so gerade noch, es in Opera und IE hinzubekommen, dann zerschiesst es mir aber das Layout im Mozilla/Firebird vollkommen. fieldset2 liegt unter fieldset1 oder fieldset2 erstreckt sich über den Rand der Box. Wenn ich das einigermassen umgehe, dann sieht es im Mozilla/Firebird so aus, wie ich es haben will. In Opera und im IE ist die Box dann aber viel zu groß und ich habe nicht mehr den Seitenabstand der fieldsets von 5px.
Wenn ich das alles mittels normalen Tabellen mache, sieht es auf allen genannten Browsern 100% richtig aus.

Mein zweites Problem besteht darin, einem fieldset eine feste Höhe zu geben. Ich möchte gerne, dass ein längerer Inhalt in dieses fieldset eingebettet wird (ähnlich einem iFrame) und man mittels overflow: scroll; den Inhalt scrollen kann. Nun macht Opera aber was ganz intuitives. Anstatt es so wie IE und Mozilla anzuzeigen, benötigt dieses fieldset den gleichen Platz, den ich benötigen würde, wenn der Inhalt vollständig eingebunden wird. Trotzdem bleibt das fieldset in der angegeben Höhe und man kann auch scrollen. Das folgende Element beginnt dann eben mit erheblichem Abstand zu diesem fieldset.


Anbei noch ein kleiner Quelltext und eine Grafik, damit ihr seht was ich meine.

Code:
<html>
<body>


<div style="border: 1px #000000 solid; padding: 5px; width: 600px;">


<div style="float: left; padding: 5px; width: 290px;">

<fieldset>
<legend style="color: darkblue;">Box1</legend>
Text Box1
</fieldset>

</div>



<div style="padding: 5px; width: 290px;">

<fieldset>
<legend style="color: darkblue;">Box2</legend>
Text Box2
</fieldset>

</div>


</div>


</body>
</html>

Ich hoffe ihr könnt mir da ein wenig die Augen öffnen.
 

Anhänge

  • css-problem.gif
    css-problem.gif
    3,2 KB · Aufrufe: 684
Re: <div>erenzen - CSS-Layout und fieldsets

Schonmal an eine Tabelle gedacht? Versuchs mal damit.
 
Re: <div>erenzen - CSS-Layout und fieldsets

er hat ja schon geschrieben, dass es mit Tabellen geht

mach mal die 2 inneren DIVs weg und geb die Stylesheets in die FIELDSETS rein, dann solltest du deinem Ziel schon mal näher sein ;)
 
Re: <div>erenzen - CSS-Layout und fieldsets

Loopo schrieb:
er hat ja schon geschrieben, dass es mit Tabellen geht

mach mal die 2 inneren DIVs weg und geb die Stylesheets in die FIELDSETS rein, dann solltest du deinem Ziel schon mal näher sein ;)
Tja, das habe ich ja auch schon probiert. Das Problem habe ich ja auch schon beschrieben. Opera sowie Mozilla stellen die beiden fieldsets dann untereinander dar, anstatt nebeneinander.
 
Re: <div>erenzen - CSS-Layout und fieldsets

So sollte es gehn...

HTML:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head><title>divs</title></head>

<body>

<div style="border: 1px #000000 solid; padding: 5px; width: 600px;">

     <div style="float: left; padding: 5px; width: 290px;">
          <fieldset>
          <legend style="color: darkblue;">Box1</legend>
          Text Box1
          </fieldset>
          </div>

     <div style="float: right; padding: 5px; width: 290px;">
          <fieldset>
          <legend style="color: darkblue;">Box2</legend>
          Text Box2
          </fieldset>
     </div>
<br style="clear: both;" />
</div>

</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Re: <div>erenzen - CSS-Layout und fieldsets

Ok, danke, so funktioniert es einigermaßen. Zwar auch nicht 100%ig, aber es ist durchaus vertretbar. Ich frag mich nur, warum es vorher bei mir nicht ordentlich lief, wobei mein Code bis auf das <br> vollkommen identisch war.

P.S.: Mein zweites Problem hat sich gerade auch erledigt. Ich danke euch allen für eure schnelle Hilfe!
 
Zuletzt bearbeitet von einem Moderator:
Re: <div>erenzen - CSS-Layout und fieldsets

Das noch nicht so ganz 100%ige müsste am CSS-Box-Model liegen (weiss ja nicht, was du beanstandest;)).

zu float : Nach dem Einsetzen von float bietet es sich an, dieses auch wieder "auszuschalten", was clear macht.
 
Re: <div>erenzen - CSS-Layout und fieldsets

tantekaethe schrieb:
zu float : Nach dem Einsetzen von float bietet es sich an, dieses auch wieder "auszuschalten", was clear macht.
Ja, ich weiss. Nur hatte ich vorher immer nur clear: left eingesetzt :). Wobei sich, wenn ich den clear: both Tag jetzt rausnehme, sich nichts verändert.

Naja, egal, dann will ich mal den restlicher Code mit einbauen. Danke nochmal.
 
Zurück
Oben