HTML-Formulare - Wie sollten sie Ihrer Meinung nach durchgeführt werden und warum? (div gegen p)

8

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: Ссылка

    
Sk446 14.06.2011, 09:05
quelle

7 Antworten

13

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> .

    
insumity 14.06.2011, 09:08
quelle
5

Ich bevorzuge die <div> Variante, weil ihre Semantik näher an dem ist, was Sie ausdrücken und auszeichnen möchten.

Ein <p> -Tag ist für Textabsätze, während ein <div> ein allgemeiner Block jeder Art ist.

    
Alp 14.06.2011 09:08
quelle
3

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:

%Vor%

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.

    
RoToRa 14.06.2011 09:56
quelle
2

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.

  • Wenn es sich beispielsweise um eine geordnete Liste von Kontrollkästchen handelt, fügen Sie sie in ein <ol> -Tag ein.
  • Wenn die Reihenfolge nicht relevant ist, verwenden Sie in diesem Fall <ul> .
  • Wenn es sich um ein label / text_input-Paar handelt, könnte man argumentieren, dass ein <dl> -Element angemessen ist
  • Wenn es eine Tabelle ist, verwenden Sie <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.

    
Wesley Murch 14.06.2011 09:37
quelle
2

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.

    
Alohci 14.06.2011 10:14
quelle
1

Was ist mit Feldsets? - Es ist logischer für Formulare

Und tatsächlich können Sie alles so gestalten, wie Sie möchten

    
SergeS 14.06.2011 09:08
quelle
1

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.

    
kinakuta 14.06.2011 09:09
quelle

Tags und Links