Как увеличить кликабельную область кнопки тега?
я узнал из этой в должности что всегда используйте <a>
теги или <button>
теги, чтобы сделать кнопку. Теперь я пытаюсь использовать <a>
тег. Мой вопрос: есть ли способ увеличить область кликабельности тега? Скажем, я использую <a>
в коробке div. Я хочу, чтобы вся коробка div стала кнопкой. Можно ли изменить область щелчка на весь div-блок?
Спасибо за помощь.
7 ответов
Edit:
@t1m0thy это более элегантно, чем мой, лучше следовать его советам.
кроме того, хорошая ссылка, предложенная @aldemarcalazans в комментариях:https://davidwalsh.name/html5-buttons.
оригинальный ответ:
использовать <a />
когда вам нужна ссылка (a of якорь). Использовать <button />
когда вам нужно кнопка.
что сказал, Если вам действительно нужно расширить <a />
, добавьте атрибут CSS display: block;
на нем. Вы сможете задать ширину и/или высоту (т. е. как если бы это был <div />
).
для увеличения площади текстовой ссылки можно использовать следующий css;
a {
display: inline-block;
position: relative;
z-index: 1;
padding: 2em;
margin: -2em;
}
- дисплей: встроенный блок требуется, чтобы поля и отступы можно было установить
- положение должно быть относительным, так что...
- z-index можно использовать, чтобы сделать кликабельную область оставаться поверх любого текста, который следует.
- прокладка увеличивает область, которую можно щелкнуть
- отрицательное поле сохраняет поток окружающего текста, как и должно быть (остерегайтесь более притирки ссылки)
Да, вы можете если вы используете в HTML5 этот код действительный не иначе:
<a href="#foo"><div>.......</div></a>
если вы не используете HTML5, вы можете сделать ссылку block
:
<a href="#foo" id="link">Click Here</a>
CSS:
#link {
display : block;
width:100px;
height:40px;
}
обратите внимание, что вы можете применить width
, height
только после создания элемента уровня блока ссылок.
просто сделайте якорь display: block
и width/height: 100%
. Например:
.button a {
display: block;
width: 100%;
height: 100%;
}
jsFiddle: http://jsfiddle.net/4mHTa/
Если вы используете HTML 5, то есть doctype
<!doctype html>
затем вы можете просто использовать ссылки на уровне блоков.
<a href="google.com">
<div class="hello">
..
</div>
</a>
добавить padding
в класс CSS тега привязки. При необходимости добавьте padding-top
, padding-bottom
,... индивидуально в соответствии с кликабельной областью, которую вы хотите. У меня получилось.
вы можете попробовать использовать display: block или display: inline-block. Хороший учебник можно найти здесь: http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/