質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

3回答

11125閲覧

IEでだけ、チェックボックスに-webkit-appearance: none;が効かずデフォルトのままになる

_shizu

総合スコア21

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

1クリップ

投稿2019/02/15 16:02

編集2019/02/16 15:54

閲覧ありがとうございます。

チェックボックスをカスタマイズしましたが、
IEでだけ-webkit-appearance: none;が効かず、デフォルトの状態になっています。
※IEのバージョンは11です。

カスタマイズの方法としては、
inputのデフォルトのスタイルを-webkit-appearance: none;で消した後、
inputの背景として灰色のチェックボックスの画像を表示し、
チェックされたら、赤色のチェックボックスの画像に差し替えています。

お手数ですが、解決策を教えていただけましたら幸いです。
よろしくお願い致します。

▼CodePen(IEでは開きません)
https://codepen.io/0166/pen/xMymNX

HTML

1<input id="01" type="checkbox"><label for="01">あああ</label> 2<input id="02" type="checkbox"><label for="02">あああ</label> 3<input id="03" type="checkbox"><label for="03">あああ</label>

CSS

1input { 2 appearance: none; 3 -webkit-appearance: none; 4 background: url(https://placehold.jp/20x20.png); 5 padding-left: 20px; 6 height: 20px; 7 vertical-align: -7px; 8} 9input:checked { 10 background: url(https://placehold.jp/ff310f/ff310f/20x20.png); 11} 12label { 13 margin-right: 30px; 14}

▼IEでの見た目
イメージ説明
かろうじてチェックボックスの上下に画像の色(灰・赤)が見えていますが、
デフォルトのチェックボックスは依然として残っています。

▼目指す見た目
イメージ説明

以上になります。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_shizu

2019/02/16 02:11

なるほど...! まずは仕様を確認するべきでした。 ご指摘ありがとうございます!
guest

回答3

0

ベストアンサー

inputのデフォルトのスタイルを-webkit-appearance: none;で消した後、

IE11ではappearanceは使えません。

Bootstrapでは、以下のような方法でチェックボックスを消しています(ソースコード)。このようなコードになった理由についてもコメントに書かれています。

scss

1.btn-group-toggle { 2 > .btn, 3 > .btn-group > .btn { 4 margin-bottom: 0; // Override default `<label>` value 5 6 input[type="radio"], 7 input[type="checkbox"] { 8 position: absolute; 9 clip: rect(0, 0, 0, 0); 10 pointer-events: none; 11 } 12 } 13}

投稿2019/02/16 00:21

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_shizu

2019/02/16 02:32

こちらの方法で、無事目指す見た目を作ることができました。 clipにつきましては、MDNに非推奨として「ゆくゆくはなくなるもの」と記載されていたのが若干不安 ではありますが、今はまだなくなっていないようなので、どうしてもカスタマイズしなければならない場合はこちらの方法も手段の一つとして考えて行こうと思います。(後継と思われるclip-pathは、一部を除きIE非対応でした。) ご回答ありがとうございました!
guest

0

解決済みですが、
以下のようにすれば全ブラウザ共通で実装ができるので回答しておきます。

html

1<input id="01" type="checkbox"><label for="01" class="checkbox"></label><label for="01">あああ</label> 2<input id="02" type="checkbox"><label for="02" class="checkbox"></label><label for="02">あああ</label> 3<input id="03" type="checkbox"><label for="03" class="checkbox"></label><label for="03">あああ</label> 4 5<label><input id="04" type="checkbox"><span class="checkbox"></span>あああ</label> 6<label><input id="05" type="checkbox"><span class="checkbox"></span>あああ</label> 7<label><input id="06" type="checkbox"><span class="checkbox"></span>あああ</label> 8

css

1[type="checkbox"] { 2 display: none; 3} 4.checkbox { 5 display: inline-block; 6 width: 1em; 7 height: 1em; 8 background: #ddd; 9} 10[type="checkbox"]:checked + .checkbox { 11 background: #ff310f; 12}

投稿2019/02/16 02:38

編集2019/02/16 03:03
kszk311

総合スコア3404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoshinavi

2019/02/16 02:44

なるほどですね。勉強になります。
_shizu

2019/02/16 03:00

なるほど...! labelを2つ並べるのは思いつきませんでした。 全ブラウザ共通で実装できるのは大変有難いです...! こちらの方法でも、無事目指す見た目を作ることができました。 ご回答ありがとうございました!
kszk311

2019/02/16 03:04

>labelを2つ並べる ここが勘違いされているかと思いましたので、別パターンのHTMLも記載しておきました。
_shizu

2019/02/16 03:13

labelはテキストとチェックボックスのクリックを連動させるためだけの機能であり、チェックボックスを作るための要素はlabel以外(今回はspan)でも構わないということでしょうか?
kszk311

2019/02/16 03:23

そういうことです。 描画するだけなら、言っちゃえばどんなタグでも構いません。 今回の場合はspanかlabelか…、クリック範囲を考慮して判断すれば良いです。
_shizu

2019/02/16 04:12

チェックボックスとクリックできるテキストに距離があり離れている場合は前者(label)で、くっついている場合は後者(span)という感じでしょうか。 ありがとうございます!
guest

0

ie11の場合、appearance:none;が設定出来ませんので、デフォルトデザインを採用するしかないと思います。

投稿2019/02/15 21:51

yoshinavi

総合スコア3523

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_shizu

2019/02/16 02:14

すっかりIEでも対応されているものと思っておりました。 今後効かないCSSがありましたら、まず仕様を確認しようと思います。 ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問