Positionierung, Größe und anderes von Form-Elementen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Positionierung, Größe und anderes von Form-Elementen

    Hallo Community!

    Ich habe ein Problem: Meine Formularfelder werden bei Safari und Firefox komplett anders gerendert, als ich es will.

    Code:
    <form>
    <input type="text" id="textField" />
    <input type="submit" id="submitButton" />
    </form>
    Und mein CSS:
    Code:
    #textField, #submitButton {
    		display: inline-block; /* Damit beide nebeneinader sind, Größe jedoch geändert werden kann */
    		background: white none;
    		border: 2px solid black; /* Damits sichtbar ist =) */
    	}
    Nun haben beide eine andere Höhe. Sieht nebeneinander natülich blöd aus. Dann füge ich dem CSS noch ein
    Code:
    height: 17px;
    hinzu. Jetzt ist der Submit-Button unheimlich klein, sind ja auch 17px. Der Text-input ist aber nich geschrumpft, sondern hat seine Größe behalten, und ist jetzt größer als der Submit-Button. Außerdem ist der Text im Submit-Button jetzt zu groß, lässt sich auch weder über font-size noch line-height beeinflussen, klebt ein wenig hilflos am unteren Border vom Button. Weils noch nicht genug ist, wird der Submit-Button im Firefox nun plötzlich um ein Pixel nach oben verschoben, wie ist das nun möglich?

    Formularfelder mit CSS zu designen war mir schon immer ein Rästel... Auf der anderen Seite habe ich gegoogelt, und nichts gefunden. Auch auf diesem Forum nicht. Ich bin nämlich eigentlich ein anderer Benutzer, war hier nur schon lange nich mehr und habe Benutzernamen, Passwort und E-Mail, mit dem ich mich angemeldet habe, vergessen. Anyway, ich scheine der Einzige mit diesem Problem zu sein =)

    Grüße

    mac4design
    http://www.flickr.com/photos/netsnake

    CSS is like a Rubik’s cube. Sometimes you’ll line one part up, but that completely screws up something else you had lined up. - Bobby Phillipps

  • #2
    Re: Positionierung, Größe und anderes von Form-Elementen

    Formularelemente sind mit am schwierigsten browserübergreifend "gleich" zu formatieren.

    Nicht alle Browser lassen diesbezüglich "alles mit sich machen" - aus dem Gedanken heraus, dass gewisse Controls dem Nutzer in einem ihm möglichst bekannten Stil präsentiert werden sollten, um durch den Wiedererkennungseffekt die Benutzbarkeit zu erhöhen.
    (Und Safari ist diesbezüglich mit einer der schlimmsten, weil Apple ja meint, immer und überall seine Designvorstellungen durchdrücken zu müssen. Der Laden sollte statt Computern vielleicht lieber Frauenmode herstellen ...)

    Weils noch nicht genug ist, wird der Submit-Button im Firefox nun plötzlich um ein Pixel nach oben verschoben, wie ist das nun möglich?
    Liegt vermutlich daran, dass sich durch deine Formatierung die Zeilenhöhe geändert hat, so dass die vertikale Ausrichtung innerhalb der Zeile sich nun derart äussert. (Da könnte man mit vertical-align ggf. was dran machen.)

    Ob du dir mit dem display:inline-block einen Gefallen tust, weiss ich nicht - könnte je nach Browser zu weiteren Komplikationen führen.
    Ich würde stattdessen lieber versuchen, über font-size und line-height die Höhe zu bestimmen; evtl. noch padding dazu, wenn gewünscht.

    Und wenn das auch nicht zufriedenstellend klappen will - dann vielleicht nur das Eingabefeld mit einer Höhe versehen, und statt des Submitbuttons ein <input type=image> nehmen ... wenn das Aussehen des Formulars wirklich so wichtig für den Seelenfrieden sein sollte.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Da ist ja noch jemand so früh auf =)

      Also der Tipp mit dem vertical-align ist wunderbar, komischerweise habe ich das vertical align auf den Submit-Button angewendet, jedoch ist dann aber das Text-Input auch um eins nach oben gegangen statt das Submit um eins nach unten, aber das ist wunderbar in Ordnung, wird auch von FF und Safari gleich angezeigt, nur vom Dreamweaver-internen Safari (? oder was benutzt der?) nicht, was mich zuerst etwas iritiert hat.

      Also soll ich vielleicht statt dem inline ein float versuchen?

      Grüße
      mac4design

      P.S.: Wenn Macs Frauenmode wären, dann vielleicht schon, aber da ich keine Frau bin hab ich da auch was dagegen weil ich meinen Mac ziemlich klasse finde =)
      http://www.flickr.com/photos/netsnake

      CSS is like a Rubik’s cube. Sometimes you’ll line one part up, but that completely screws up something else you had lined up. - Bobby Phillipps

      Kommentar


      • #4
        nur vom Dreamweaver-internen Safari
        der hat seine eigene darstellungsmethode. und auf die darfst du dich nie(!) verlassen. eigentlich solltest du das teil eh nicht benutzen.

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Und du schwörst auf...? Coda? Finde ich nämlich auch sehr interessant.

          Mal die offizielle Lösung zu meinem Problem, hab ich zwar schon gesagt, aber Leute die den Post einfach nur durchscannen mögen es vll nich merken:

          display: inline-block auf beide und vertical-align:top auf den Button
          außerdem, wenn wir eine Gesamthöhe von 24px haben wollen, setzen wir height: 24px beim Submit-Button und height: 17px; padding: 5px 5px 0; beim Formularfeld
          , glaubts mir oder nicht, den Trick habe ich bei dieser schönen Seite gesehen und warum auch immer, das funktioniert. Im Anhagng sieht mans nochmal genau, visuell ists immer einfacher.

          Also wenn jemand weiß, warum das so ist - eine Antwort hätte ich gerne noch weil bei CSS kaufe ich ungern die Katze im Sack das geht dann wahrscheinlich beim ersten public beta nach hinten los...

          Grüße

          mac4design
          Angehängte Dateien
          http://www.flickr.com/photos/netsnake

          CSS is like a Rubik’s cube. Sometimes you’ll line one part up, but that completely screws up something else you had lined up. - Bobby Phillipps

          Kommentar

          Lädt...
          X