Кнопка, ссылка, псевдоссылка? Как правильно выбрать, сверстать и не наделать глупостей.
<a href="http://example.com/">Ссылка</a>
Главное — адрес
<a href="http://example.com/#section-3">Раздел №3</a>
Ссылка на страницу и объект на ней
<section id="section-3">…</section>
<a href="http://example.com/#section-3">Раздел №3</a>
Ссылка на страницу и объект на ней
<section><a name="section-3"></a></section>
<ul><li><a href="/">Главная</a></li><li><a>Каталог</a></li><li><a href="/about/">О компании</a></li></ul>
Чисто логическая ссылка, без адреса
Если у ссылки нет адреса, внутреннего, внешнего или логического, то это не ссылка: не <a href=""> и даже не <a>
Ведь пользователь может…
Когда ссылка — ссылка
<a href="#anchor">Псевдоссылка</a>
:targetГлавное для всего типа — локальность
<a href="http://example.com/login"onclick="login()">Войти</a>
<span class="pseudo-link">Псевдонессылка</span>
Существует договорённость…
.pseudo-link {border-bottom:1px dotted;}
dotted выглядит чище, чем dashed<input type="submit" value="Кнопка"><input type="button" value="Кнопка"><input type="image" src="…">
cursor:pointer совсем не нужноThe button element represents a button.
The element is a button.
<button type="button">Кнопка</button><button type="submit">Кнопка</button><button type="reset">Кнопка</button>
Универсальный элемент для использования вне форм
Сделай-ка мне, чтобы по ссылке так дыщ! и выплывало…
<a href="#" onclick="fire()">Бах!</a>
Берём, значит, ссылку и вешаем обработчик
<a href="javascript:fire()">Бдум!</a>
Можно задействовать пустой атрибут
<a href="javascript:void(0)" onclick="fire()">Ды-дыщ!</a>
Или даже всё сразу!
<span class="b-link b-link_pseudo_yes i-bem"onclick="return {"b-link":{}}"><span class="b-link__inner">ещё</span></span>
С виду правильно, но есть настоящая ссылка «Все сервисы»
<a href="http://www.google.ru/intl/ru/options/"onclick="gbar.tg(event,this)" aria-haspopup="true"><span id="gbztms1">Ещё</span></a>
Всё очень правильно, есть даже ARIA для выпадушки
<a class="rhcFooterSelectorButton"href="#" aria-haspopup="true" aria-expanded="false"aria-owns="u5urfy_47" aria-controls="js_5">Ещё<i class="img sp_4yc81c sx_3f849e"></i></a>
Решётка, то есть, простите, диез…
<a href="javascript:void(0);" class="mlr-psd_lnk"><u id="mailru-webagent">Показать все поля</u><i class="mr_arrow"><b></b></i></a>
Void!
<a data-action="mailbox.check"><img class="b-ico b-ico_check-mail" src="…"><span class="b-toolbar__item__label">Проверить</span><span class="b-toolbar__item__selected …</a>
Сссылка-нессылка
<div class="T-I J-J5-Ji nu T-I-ax7 L3" role="button"tabindex="0" style="-webkit-user-select:none"aria-label="Refresh" data-tooltip="Refresh"><div class="asa"><span class="J-J5-Ji ask"> </span></div></div>
<input type="submit"class="b-mail-button__button" tabindex="10">
Всё хорошо
<a class="button-a js-send" tabindex="1"href="#" role="submit" title="Ctrl+Enter"id="mailru-webagent-gen-35">Отправить</a>
Дали в руки якоря…
<div id=":ga" class="T-I J-J5-Ji Bq nS T-I-KE L3"role="button" tabindex="2"style="-webkit-user-select:none"><b style="-webkit-user-select:none">Send</b></div>
Грубо и прямо
<button id="send_post"onclick="wall.sendPost()">Отправить</button><span class="post_like_link fl_l"id="like_link4483_747">Мне нравится</span>
<a class="fl_r pv_close_link"onclick="Photoview.hide(0)">Закрыть</a>
<a href="#" class="tweet-button btn">Твитнуть</a>
<a href="#" class="with-icn js-toggle-rt"><span class="undo-retweet" title="Отменить ретвит">Ретвиты</span><span class="retweet" title="Ретвитнуть">Ретвитнуть</span></b></a>
Вадим Макеев, Opera Software
Презентация: pepelsbey.net/pres/push-it