前提・実現したいこと
divボックスを並べた際、IE11だけわずかな隙間ができるのをきれいに埋めたい。
ネガティブマージンを入れることで一応解決はしましたが、ほかにもっとスマートな解決方法はないでしょうか。
発生している問題・エラーメッセージ
divボックスを並べた際、IE11だけわずかな隙間ができる。
border-radiusを使った時に、その現象が現れます。
該当のソースコード
<body> <div class="up">ほげほげほげ</div> <div class="down">ほげほげほげほげほげ</div> </body>
body { width: 50%; margin: 0 auto; padding: 50px; } .up { width: 100%; margin: 0; padding: 20px; color: #ffffff; background-color: #87A54F; border-radius: 10px 10px 0 0; } .down { width: 100%; margin: -1px 0 0 0; padding: 20px; color: #ffffff; background-color: #7FAFC9; border-radius: 0 0 10px 10px; }
試したこと
.down {margin: 0;}にすると1pxより小さな隙間が見られます。
(上記は上だけ/下だけ角丸にしてますが、全体角丸にしても同じ)
なので上記のようなネガティブマージンにすることで解決。
IE11は捨てる・・というわけにはいかないんでしょうか
ターゲットの利用ブラウザがIE11がメインなんですよ。恐ろしいことに。。。
(おじいちゃんばっかりなのでw)
なるほど。できればなんとか丸め込みたいですね(Win7サポート終了後は変わってくれるといいなあ)
あまりスマートとは言えないのでこちらに書きますがIE11だけのCSSハックはあるようです
https://nelog.jp/ie11-css-hack
ありがとうございます!
border-radiusのieバグは今まで見たことなかったので(調べてもなかなか出てこなかったので)、一応解決したけど、情報共有の意味も込めてアップさせてもらいました。
ネガティブマージンとかなるべく使いたくないですよね。
>ネガティブマージンとかなるべく使いたくないですよね。
そうですね。どうにもならないときの最終手段だと思います。(ただ、意図して使う場合もあるので、それはそれで別です)
まだ質問が「受付中」になっていますが、いったんご自身の回答をもって「解決済」にされてはいかがでしょうか。
私の環境(win7、win10のie11)で、提示コードを確認しましたが、隙間は出来ませんでした。
今回とは少し違いますが、過去質問(https://teratail.com/questions/86704)では、違うブラウザですが、デバイスによる隙間の有無がありました。
ネガティブマージンでの対策は、意見が分かれる部分でもありますが、個人的には「使ってOK」派です。

回答2件
あなたの回答
tips
プレビュー