Только что заметили эту проблему сейчас, если у меня есть элемент span
, я могу сделать его полной шириной родительского контейнера, если применим стиль display: block
, но я заметил, что то же самое не происходит, когда элемент является button
. Вопрос в том, почему? Почему кнопка ведет себя по-другому (по умолчанию это элемент блока, если я правильно помню)Почему элемент кнопки не принимает полную ширину контейнера, например, span?
Я исправил его, применив width:100%
к кнопке, но не совсем уверен, почему он ведет себя по-другому.
Fiddle для тестирования: https://jsfiddle.net/9k3pjy9e/1/
Браузеры добавляют стили по умолчанию к некоторым элементам, включая кнопки. Вы можете переопределить их, но если вы этого не сделаете, они будут отображаться так, как будет выглядеть браузер. В случае кнопок большинство браузеров полагают, что они должны иметь ширину, основанную на значении (очень похожую на встроенные элементы), а также на некоторые дополнения и границы. Это гарантирует, что элементы кнопок выглядят как кнопки из коробки, без пользовательских стилей. Не забудьте проверить ответ, упомянутый в пред. comment – mizurnix