Можно ли установить некоторую ширину тега <a>
в html?
Если да, то каков путь, если нет никакой работы вокруг?
Ширина для тега <a>в html
Ответ 1
Вы можете переопределить его как элемент блока, а затем установить для него ширину: a{display:block;width:400px}
.
EDIT: Однако в этом случае он начнется с новой строки, и следующий фрагмент текста также будет в новой строке. То, что решает проблему, - это режим отображения inline-block
, но это снова имеет проблемы со старыми версиями IE и FF (см. Здесь: http://caniuse.com/#search=inline-block)
Ответ 2
Свойство css width
не влияет на встроенные элементы, такие как <a>
или <span>
. Чтобы использовать свойства уровня блока, такие как width
, вам нужно объявить ваш элемент как элемент уровня блока, используя display:block
:
<a style="display:block;width:200px">Your link</a>
Ответ 3
Если вам не понравилось display:block
или display:inline-block
, вы можете использовать прокладку
Ответ 4
Как говорили другие, элемент a
является встроенным элементом и как таковой не интересуется шириной или высотой. Он ищет только контент и делает его таким же большим, как его требует контент.
Однако, в зависимости от того, что вы пытаетесь сделать, вы можете использовать padding
и margin
, чтобы изменить расстояние до других встроенных элементов. Например, <a style="padding: 0 5px;">some text</a>
добавляет 5px отступ слева и справа от текста. Но опять же, фактический размер будет основан на размере текста.
По-другому следует избегать другого подхода, который является скорее взломом, и по возможности следует избегать:
<a style="background: red; padding-right: 100px;">
<span style="position: absolute;">Some text</span>
</a>
Это добавляет пробел в 100 пикселей справа от текста, но, устанавливая абсолютную позицию текста, этот текст отображает "выше" остальных и игнорируется для всех дополнительных вычислений размера, поэтому элемент a
в основном имеет нет прямого содержимого и как таковая ширина нуля с добавленным дополнением 100px вправо. Таким образом, элемент имеет ширину всего 100 пикселей. И, не изменяя положения диапазона после установки его в абсолютный, он останется там, где он был бы без абсолютного, поэтому он выглядит одинаково.