Должен ли я использовать тег <p>или <div>здесь? - PullRequest
4 голосов
/ 20 февраля 2012

Я чувствую себя довольно глупо, задавая этот вопрос, так как уверен, что преобладает мнение, а не правильность.

Но у меня есть «кнопка», которая прикреплена к нижней правой частиэкран, на котором пользователь может щелкнуть, чтобы открыть окно чата.

В настоящее время у меня просто так:

<div id="chatbtn">Sales help online</div>

Я выбрал тег <div>, чтобыпоисковые системы не считают его основным элементом текста.Должен ли я выбрать <p> тег для семантически правильного здесь? ... или, может быть, даже <input type="button">

Что вы думаете?

Ответы [ 3 ]

4 голосов
/ 20 февраля 2012

Кнопка имеет собственный тег на самом деле:

<button type="button" id="chatbtn">Sales help online</button>

Тип по умолчанию иногда отправить , поэтому рекомендуется всегда говорить "это обычная кнопка, а не отправлять".

Если вам нужно обработать его как элемент блока, вы можете либо поместить его внутрь, содержащий <div>, либо вручную изменить его стиль на display: block;.

Ссылаясь на то, что вы сказали, <input type="button">, безусловно, не подходит в вашем случае, так как это элемент формы, и у вас здесь нет никакой формы, поэтому «чистый» тег кнопки более правильный.

2 голосов
/ 20 февраля 2012

Всегда старайтесь использовать семантически правильный элемент. Если вы хотите создать кнопку, используйте элемент <button> . Если вы хотите отобразить абзац, используйте <p>. Если вы хотите сгруппировать элементы в контейнере без семантической информации, предоставленной этому контейнеру, используйте <div>.

0 голосов
/ 20 февраля 2012

Для самой кнопки вы можете использовать input type=button, если в ней нет ничего особенного (как здесь), или button type=button, если вам нужно более богатое форматирование (например, изображение или разрыв строки внутри кнопки).

В качестве элемента-оболочки вне него используйте div, если кнопка просто должна появиться в отдельной строке, p, если вы дополнительно хотите иметь пустое пространство выше и ниже (по умолчанию не CSS)рендеринг).Нет реальной семантической разницы между этими элементами;в спецификациях и использовании HTML p означает только абзац в произвольном смысле (см., например, описание p HTML5 *1009*).

В любом случае, поскольку кнопка предположительноУправляется JavaScript и ничего не делает, когда JavaScript отключен, лучше было бы динамически генерировать элемент (и, возможно, включающий элемент) в JavaScript, вместо того, чтобы иметь его как статическую часть HTML-документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...