Есть ли допустимый вариант использования для стилизации div как кнопки? - PullRequest
2 голосов
/ 27 октября 2019

Заголовок говорит сам за себя, есть ли когда-нибудь фактический вариант использования, в котором вы должны стилизовать <div>, <span> и т. Д. Как кнопку, а не просто иметь кнопку?

Bootstrap по-прежнему имеет .btn класс - это обратная совместимость (когда было сложно оформить кнопки) или я пропускаю какой-то вариант использования, который означает, что нам все еще нужно это?

РЕДАКТИРОВАТЬ, чтобы прояснить

Спасибо за ответы и комментарии, но, возможно, я не совсем уверен.

Я ищу кого-то, кто мог бы указать вескую причину, по которой <div> или, <span> и т. Д., Чем <button>и случайный <a> должен быть оформлен так, чтобы он выглядел как кнопка (спасибо @James Grimshaw за указание на нее, это может быть допустимо для элемента <a>, похожего на кнопку).

Если нет, то почемуне используете a.btn-block, button.btn-block в качестве селекторов для обеспечения правильной семантики, а также для сохранения разработчиков, пишущих btn в списке классов для элемента?

1 Ответ

2 голосов
/ 27 октября 2019

Класс Bootstrap .btn предназначен для использования с a или button элементами. Например:

<a href="" class="btn btn-primary">A button</a>

Возможны варианты использования div, и некоторые веб-сайты делают это, поскольку вы можете использовать обработчик JavaScript onclick="", чтобы обнаруживать клики и позволять ему действовать какобычный элемент button или a. Однако это определенно не рекомендуется, и вам следует придерживаться стандартной кнопки или ссылки по следующим причинам:

  1. Если JavaScript был отключен по какой-либо причине :Обычные элементы button или a имеют поведение браузера по умолчанию и не требуют JavaScript.

  2. Специальные возможности : стандартные кнопки или элементы ссылок автоматически распознаютсяиметь связанное с ними действие, тогда как элементы div или span не должны иметь действие щелчка.

  3. Функциональность : В случаеBootstrap, класс .btn также нацелен на button или a определенные состояния, такие как disabled, :focus или :visited, что означает, что все аспекты класса .btn даже не будут работать полностьюdiv или span.

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