LoginSignup
4
3

More than 5 years have passed since last update.

Bootstrap3でカーソルをpointerにする

Posted at

副題

Bootstrap3でCSSの追加無しにプレースホルダーリンク上のカーソルをpointerにする

結論

role="button"属性を追加する。

bootstrap3.3.7.css
[role="button"] {
  cursor: pointer;
}

概要

プレースホルダーリンクは、通常のリンクと異なり、マススオーバー時のカーソルがtextの「I」のようなものになってしまう。
デフォルトの指矢印「」のようなものにしたい。

なりゆき

  1. SPA風ページ作りたい
  2. ページ遷移はJSが担当する
  3. テキストリンクを作りたい
  4. ただしリンク移動はせず、JSでページ書き換える
  5. なので、移動先は指定せず、プレースホルダーリンクにonClickを設定する
  6. カーソルはリンクだとわかりやすいようにがいい
  7. プレースホルダーリンクではカーソルがにならない
  8. href="javascript:void(0)"はかっこ悪いからキライ
  9. return false;もちょっと…そもそもダミーのリンクURLも設定するの面倒
  10. CSSで設定したい
  11. CSS書きたくない
  12. Bootstrapから探す
  13. あった

あくまでローカルなもののズボラ策として。

検証環境

  • Bootstrap3.3.7
  • Firefox 50

コード


<a href="test">普通のリンク</a> <br>
<a>プレースホルダリンク</a> <br>
<a href="javascript:void(0)">JavaScriptリンク</a> <br>
<a role="button">ロール付きプレースホルダリンク</a>

普通のリンク

プレースホルダリンク

JavaScriptリンク

ロール付きプレースホルダリンク

QiitaもBootstrapな同じスタイルがあるはずですけどプレビューでは出力のrole属性が削除されている。

role属性って?

Web Accessibility Initiativeが策定したWAI-ARIAという、アクセシビリティを高めるための仕様の一部。
障害者のための補助属性などにもなるもよう。
まだまだ普及はしていないだろうが、表示上のスタイルのためだけに乱用することはよくないでしょう。

が、これが2014年3月20日勧告で、Bootstrap3自体は2013年からリリースしている。(初リリース時点ではroleは含まれていないが)
role属性の設定もbuttonしか書かれていないので、BootstrapはWAI-ARIAを意識したrole属性じゃないんじゃないかなーと思います。
ただそのまま、押せる(button)ことを表したいときに使うスタイル、程度かもしれません。

参考

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3