2011-01-04 6 views
5

Ich habe es aufgegeben, CSS für das Formstyling zu verwenden, wenn es auf drei benachbarte Textfelder (wie eine Telefonnummer) oder eine Dropdown-Liste neben einem Textfeld trifft. Ich konnte einfach keine zuverlässige Methode finden, um es ohne gute alte Tische zu stylen.CSS-Formulare anstelle von Tabellen 2011

Ich denke darüber nach, CSS für Form-Styling zurück zu gehen; Ich weiß es nicht:

  1. Ob es mehr nützlich ist, Beschriftungen oben oder auf der linken Seite des Feldes zu haben.
  2. Wie man die Dinge stylt, so dass sie auch mit ein paar angrenzenden Formularelementen schön platzieren.

Referenzen? Ist das immer noch ein Wunschtraum?

+1

Sie sagen also, Sie wissen nicht, wie float oder das Box-Modell funktioniert? – rxgx

Antwort

2

Es gibt ein paar CSS-Vorlagen speziell zum Auslegen von Formularen entwickelt.

Ich hoffe, das Sie in einer produktiven und ehrfürchtigen Richtung zeigen kann. Pass auf.

0

Nein, es ist sehr möglich, und ich (und viele andere) mache es seit Jahren.

Betrachten Sie float: (left|right) und display: (inline|inline-block).

+0

Verwenden Sie Etiketten über den Feldern oder auf der linken Seite? Was machen Sie, wenn Sie Textfelder nebeneinander platzieren müssen (wie Ortsvorwahl, Präfix, Suffix einer Telefonnummer)? Hast du Beispiele? – Caveatrob

+0

@Caveatrob Überprüfen Sie das CSS und HTML von jeder anderen Website, die es tut. Schau in Schwimmern. – alex

+0

@Caveatrob Wenn Sie drei Textfelder hatten und Sie diese nebeneinander haben wollten, hätten Sie jedes Float (wahrscheinlich mit etwas Padding) übrig. Sie würden dann klären: beide; nach. Wenn Sie etwas HTML zur Verfügung stellen können, können wir es mit CSS für Sie markieren. –

3

Sie meinen so?

alt text

Grundsätzlich schaffen wir ein pseudotable

.mxrow { 
clear: both; 
width: 100%; 
height: 50px; 
} 


.mxcell { 
float: left; 
padding-top: 10px; 
padding-bottom: 10px; 
height: 26px; 
} 

.mxcell_firstcell{ 
width: 25%; 
} 

Und das Markup würde

<div class = "mxrow"> 
    <div class = "mxcell mxcell_firstcell"><input element /></div> 
    <div class = "mxcell mxcell_secondcell"><another form element/></div> 
</div> 

Die einzelne Zelle Klassennamen dienen anwenden spezifische CSS (mein Markup ist ein Gitterrost)

sein
+0

Ja. Ich hatte eine Menge Zeit damit, als ich mein erstes Floating/Divvy-CSS für Formulare erfand. Jedes Beispiel, das ich online zu finden scheint, hat eine einzige Label/Einzelformkontrolle pro Zeile. – Caveatrob

+0

Nun, ich tat dies, weil viele Javascript-Animationen schlecht mit Tabellen arbeiten. Lass mich etwas CSS für dich holen –

+0

keine graziöse Degradierung hier. –

0

Andere Leute geben Ihnen einige gültige vorschlagen ionen ... wenn Sie immer noch Probleme haben, können Sie ein Formular css Framework wie formee versuchen ... http://www.formee.org/

Verwandte Themen