Ich war lange Zeit Entwickler, aber Formulare waren immer mein am wenigsten bevorzugter Teil, genauer gesagt, sie zu entwerfen!
Ich würde wirklich gerne wissen, wie Sie Ihre Formen machen und warum. Ich habe ein paar Diskussionen mit anderen Entwicklern über <div>
vs <p>
in Formularfeldern geführt. Mit wem würdest du bleiben und warum?
Ein Beispiel von dem, worüber ich spreche:
%Vor%VS
%Vor%Wenn es um Styling geht, scheint es, dass Sie mit beiden ziemlich genau dasselbe machen können, also ist es nur persönliche Vorliebe, oder gibt es eine Logik hinter der Verwendung eines über dem anderen?
Danke für Ihre Zeit:)
UPDATE Am Ende habe ich einen schönen Artikel über HTML5-Formulare gelesen und festgestellt, dass das Formular viel besser formatiert werden kann. Sie sind auch aus Entwicklungsperspektive viel organisierter. Für alle Interessierten finden Sie hier: Ссылка
Bei HTML dreht sich alles um Semantik. Es gibt keinen Grund, dass username
oder submit
in einem Absatz ( <p>
) stehen sollten, weil es sich nicht um einen Absatz handelt.
Also würde ich stattdessen <div>
verwenden. Ok, vielleicht hat <div>
überhaupt keine Bedeutung. Aber es ist besser als <p>
.
Eine Option, die ich vorschlagen möchte:
Sie könnten das input
in sein Label einschließen. Auf diese Weise können Sie möglicherweise zusätzliche Elemente vermeiden. Auch wenn Sie IE6 nicht unterstützen müssen, können Sie for
löschen. Und schließlich, wenn input
ein Kontrollkästchen oder eine Optionsschaltfläche ist, ermöglicht es dem Benutzer, auf den gesamten Text anstatt nur auf das winzige Steuerelement zu klicken, wie in den meisten Betriebssystemen:
Ich bin mir auch nicht sicher, was der Punkt eines leeren Labels für den Submit-Button ist, außer dass er beim Schreiben des Stylesheets faul ist.
Ich dachte nur, ich würde meine 2 Cent hineinwerfen (vorausgesetzt, wir stimmen alle darin überein, dass das semantische Markup das Ziel ist):
Während man argumentieren kann, dass Formelemente selbst nicht semantisch sind, bedeutet dies nicht, dass der Kontext, in dem sie erscheinen, nicht so gut ist. Es gibt keinen "einzig wahren Weg", um alle Formularsteuerelemente zu markieren.
Wenn das Steuerelement tatsächlich in einem Textabschnitt erscheint, ist das in Ordnung - aber so etwas passiert nie.
<ol>
-Tag ein. <ul>
. <dl>
-Element angemessen ist <table>
(Ja, Tabellen können geeignet sein! Tatsächlich habe ich das (fragliche) Argument schon oft gehört, dass Formulardaten tabellarisch sind) Übrigens wird es in HTML5 als eine Beschreibungsliste angesehen, um aufzuräumen Verwirrung über die Bedeutung, und ob es für andere Dinge als literale Definition Begriffe geeignet ist.
Fast niemand wird jemals sagen, dass ein <p>
angemessen ist, aber sehr wenige werden argumentieren, dass ein <div>
unangemessen ist, weil es keine angehängte Semantik gibt.
Semantisch ist jedes Label über das Attribut for
an seine Kontrolle gebunden. Es besteht keine Notwendigkeit, das Paar aus semantischen Gründen zu umhüllen, obwohl Sie dies aus Gründen des Stils wünschen. Also div
ist angemessen.
Ähnlich hat die Gruppierung von Steuerelementen ein dediziertes Element fieldset
, so dass es keinen Sinn macht, ul
, ol
oder dl
zu diesem Zweck zu verwenden, und ihre Verwendung ist einfach eine Form von Listitis.
Semantisch würde ich sagen, divs machen mehr Sinn, weil sie keine semantische Bedeutung haben und der einzige Grund, einen solchen Blockcontainer zu verwenden, ist das Layout. Das heißt, ich benutze Absätze, aber völlig aus Gewohnheit. Es ist der einzige Ort, an dem ich Absätze verwende, ohne ihre semantische Bedeutung zu berücksichtigen.