disabledなボタンのhoverのスタイルを無効にする方法
「type="submit"」や「type="button"」のinput要素、またはbutton要素などのボタンをdisabledに変更したときに、hoverのスタイルを無効にする方法を紹介します。
1.はじめに
次のようなinput要素のボタンがあります。
HTML
<input name="send" type="submit" value="送信" />
これをdisabledに変更するとボタンが押せなくなるような表示に切り替わります。またクリックしても無反応です。
HTML
<input name="send" type="submit" value="送信" disabled="disabled" />
が、ボタンに下記のようなスタイルを設定しているとします。
input {
background-color: #0076bf;
background-image: linear-gradient(#0076bf, #006ea5);
border-color: #004b9a;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 1px 0 rgba(255, 255, 255, 0.4);
color: #fff;
border-radius: 3px;
cursor: pointer;
line-height: 1.75;
}
input:hover {
background: none repeat scroll 0 0 #008fd6;
border-color: #00437f;
}
通常の表示
マウスをポイントしたときの表示
このような設定を行っている場合、input要素に、
HTML
<input name="send" type="submit" value="送信" disabled="disabled" />
と、diabledを指定してもhoverが有効になってしまい、ボタンが押せないように見せることができません。
ということでhoverのスタイルを無効にする方法を紹介します。
2.hoverのスタイルを無効にする
下記の:disabled擬似クラスをhover擬似クラスより後方に追加します。
input:disabled {
background-image: none;
background-color: #ccc;
border-color: #ccc;
}
これでボタンが次のように表示され、マウスをポイントしても変化ありません。
通常の表示
マウスをポイントしたときの表示
Posted by yujiro このページの先頭に戻る
- YouTube動画にキャプションをつけてテキストを回り込ませる方法
- 画像を下揃えにしてテキストを回り込ませる方法
- style要素にCSSの擬似要素は記述可能か?
- position:relativeを設定すると他の要素がずれる場合の対処
- CSSでタブ切り替えする方法
- :target擬似クラスのまとめ
- CSSでヘッダを固定したスクロールテーブルを作る方法
- レスポンシブウェブデザインで画像を縮小する方法
- HTML要素を別の要素を基点にしてCSSで絶対配置する方法
- :not擬似クラスでCSS3のサポートをチェックする方法
- :checked擬似クラスでチェックボックスに連動して要素を表示させる方法
- ol要素の入れ子で親の番号を子に割り当てる方法
- チェックボックスやラジオボタンを大きくする方法
- CSSで中央に配置する方法
- CSSで背景画像をページの中心に表示する方法
トラックバックURL
コメントする
greeting