Подтвердить что ты не робот

Лучшая практика для создания веб-форм

Можно ли использовать таблицы для создания веб-форм или использовать div? Я знаю, как использовать таблицы, но как мне сделать форму с div или лучше использовать таблицы?

<form method="post">
    <table>
        <tr>
            <td>
                <label for="username">Username:</label>
            </td>
            <td>
                <input type="text" name="username" id="username"/>
            </td>
        </tr>
        <tr>
            <td>
                <label for="password">Password:</label>
            </td>
            <td>
                <input type="password" name="password" id="password"/>
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" name="cancel" value="Cancel"/>
            </td>       
            <td>
                <input type="submit" name="send" value="Send"/>
            </td>
        </tr>
    </table>
</form>

Возможный дубликат: Why-not-use-tables-for-layout-in-html

4b9b3361

Ответ 1

Не используйте таблицы, которые очень brittle, non semantic, используйте правильный макет CSS. Ниже приведены некоторые презентации, в которых объясняются некоторые хорошие подходы к формированию макета, включая соображения удобства использования. Первая ссылка больше о коде, а вторая - о соображениях дизайна и удобства использования:

Ответ 2

Правило для жизни: Используйте только таблицы для отображения табличных данных.

Это всегда хорошо срабатывало для меня....

Ответ 3

Абсолютно лучшим форматом для форм, на мой взгляд, является использование неупорядоченных списков внутри полей, приправленных ярлыками. Это самый семантически правильный способ, так или иначе:

<form method="post" action="foo.php">
    <fieldset>
        <legend>Some fields</legend>
        <ul>
            <li>
                <label for="foo">Foobar</label>
                <input type="text" name="foo" id="foo" />
            </li>
        </ul>
    </fieldset>
</form>

Наборы полей не являются обязательными, но могут оживлять тусклую форму. Основной CSS, чтобы получить ul, выглядит как форма, может быть примерно так:

form ul {
    list-style: none;
    margin: 0;
}

form ul li {
    margin-bottom: 10px;
}

form ul li label {
    display: block;
    float: left;
    width: 150px;
    line-height: 24px;
}

Ответ 4

В HTML не существует такого жесткого правила или лучшего способа делать формы. Если вы хотите использовать div в простой форме, лучше выбрать CSS-фреймворк, чтобы сделать вещи такими, как blueprint

Ответ 5

Для лучших методов HTML/CSS в целом я рекомендую посмотреть A List Apart. Что касается форм, вот статья, которая вам подходит: Более удобные формы. Для других примеров просто Google с ключевыми словами "semantic html form" .

Ответ 6

Таблицы не относятся к макету, таблицы относятся к периоду данных, css - это путь, который лучше всего подходит.