[CSS] Formulier is rotzooi

Pagina: 1
Acties:

  • kleautviool
  • Registratie: Mei 2003
  • Laatst online: 20-08 11:04
Ik heb dus een formulier gemaakt aan de hand van deze pagina, alleen wordt dit formulier in IE helemaal verkeerd weergegeven, maar Mozilla en Opera geven het formulier wel gewoon zoals het hoort weer. Nu is mijn vraag dus of misschien iemand weet hoe ik ervoor kan zorgen dat ook IE mijn formulier normaal weergeeft. Ik heb nu dit in mijn stylesheet staan:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    div.contactContainer {
        width: 445px;
        padding: 5px;
        margin: 0px auto;
        background-color: #999;
        border: dotted 1px #444;
    }
    div.contactRow {
        clear: both;
        padding-top: 10px;
        background-color: #999;
    }
    div.contactRow span.formLabel {
        float: left;
        width: 115px;
        text-align: right;
        background-color: #999;
    }
    div.contactRow span.formField {
        float: right;
        width: 315px;
        text-align: left;
        background-color: #999;
    }


en in mijn html zelf staat het op de volgende manier:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div class="contactContainer">
    <form method="post" action="foe" id="reageer">
    <div class="contactRow">
        <span class="formLabel">Naam:</span><span class="formField"><input type="text" size="20" name="naam" /></span>
    </div>
    <div class="contactRow">
        <span class="formLabel">Email:</span><span class="formField"><input type="text" size="20" name="email" /></span>
    </div>
    <div class="contactRow">
        <span class="formLabel">Reactie:</span><span class="formField"><textarea name="reactie" cols="45" rows="10"></textarea></span>
    </div>
    <div class="contactRow">
        <span class="formLabel">Gegevens opslaan?:</span><span class="formField"><input type="radio" value="ja" name="opslaan" /> Ja &nbsp;&nbsp;<input type="radio" value="nee" name="opslaan" /> Nee</span>
    </div>
    <div class="contactRow">
        <span class="formLabel"><input type="submit" value="Plaats reactie" /></span><span class="formField"><input type="reset" value="Beginwaarden" /></span>
    </div>
    </form>
</div>


De pagina waar het fout gaat zelf staat hier

Alvast bedankt!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

Ik zou geen spans gebruiken om te floaten, maar een blocklevel-element zoals een div

Intentionally left blank


  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 15-07 20:09

dArtagnan

Een voor allen, allen voor een

probeer eens het volgende in je style element:


Cascading Stylesheet:
1
2
box-sizing: padding-box;
-moz-box-sizing: padding-box;

[ Voor 28% gewijzigd door dArtagnan op 21-09-2003 20:42 ]


  • Preatorium
  • Registratie: September 2001
  • Laatst online: 26-07 18:25
Klopt, maar het gaat fout bij de opgave vcan je breedtes, hierdoor kmt het inputveld onder e-mail te staan bv. al eens iets grotere px breedtes geprobeerd?

Remember this; very little is needed to make a happy life. ~ Marcus Aurelius Antoninus (121-180)


Verwijderd

  • gebruik LABEL tags i.p.v. SPANs voor je formulier-labels (LABEL@W3C) - dan kun je er vaak nog op klikken ook...
  • geef display:block aan elementen die je float of gebruik block-level elementen als DIVs
  • Geef classes aan je formelementen zelf om ze een breedte te geven
  • Geef inline elementen geen breedte
  • Nest block-level elementen (zoals TEXTAREA) niet in inline-elementen (zoals SPAN)
  • goed dat je probeert om dit met CSS te doen!

[ Voor 22% gewijzigd door Verwijderd op 21-09-2003 20:55 ]


  • kleautviool
  • Registratie: Mei 2003
  • Laatst online: 20-08 11:04
Ok, bedankt voor de tips allemaal.
Ik zal morgen eens kijken hoe ik het op ga lossen :)
Bedankt voor de hulp iig! :)

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

HTML:
1
2
3
4
5
6
<form action="blah" method="post">
  <div>
    <label for="name">naam</label>
    <input type="text" name="name" id="name" />
  </div>
</div>

Met bovenstaande code kun je net zoveel doen als met al die spans. Classes zijn overbodig hier, want je kunt gewoon de "form > div"-selector gebruiken, of "form#contact > div".

Cascading Stylesheet:
1
label:after { content: ":"; } /* zodat JAWS niet steeds "colon" opleest */
Mogelijk zou het beter zijn om het fieldset-element hiervoor te gebruiken, i.p.v. div.
Voor meer info zie simplebits: SimpleQuiz › Form(atting) › Conclusion.
Pagina: 1