「transform:translate3d();」でスマホ実機画面が一瞬だけチラつく → 「backface-visibility:hidden;」指定すると解消される

CSSCSSトラブル対応

問題発生

 状態:-  閲覧数:855  投稿日:2017-10-30  更新日:2017-10-30
「既存JSライブラリ」をカスタマイズした「レスポンシブ画像スライドショー」
・スマホ実機で確認すると、アニメーション終了時に一瞬だけ画面がチラつく
・パソコン画面でChromeをモバイル表示しても、この現象を再現出来ない
・スマホ実機で確認する際にだけ発生


徒労に終わった対応


JSを疑う
・Modernizrを最新バージョンへ差し替え
→ 効果なし

・imagesloadedを最新バージョンへ差し替え
→ 効果なし

・alertデバッグ
→ 効果なし

・ここまで試して、どうやらJSは「無実の罪」だったらしきことが判明

CSSを疑う
・transform内容をまとめて指定しているとそれだけで負荷がかかるのかチラツキが消えない
→ バラして指定するも効果なし

最終的に解決した方法 → 「backface-visibility:hidden;」指定

 閲覧数:152 投稿日:2017-10-30 更新日:2017-10-30 

最終的に解決した方法


該当CSSに「backface-visibility:hidden;」指定
-webkit-backface-visibility:hidden;
 backface-visibility:hidden;


解決に要した日数
・3日間


遭遇例


修正前
.slideshow ul.animatable li {
-webkit-transition: -webkit-transform 0.5s;
 transition: transform 0.5s;
}


修正後
.slideshow ul.animatable li {
-webkit-transition: -webkit-transform 0.5s;
 transition: transform 0.5s;
 -webkit-backface-visibility:hidden;
 backface-visibility:hidden;
}



「backface-visibility:hidden;」指定すると、チラつきが解消される理由


不明


CSS Transformsで画面がちらつくときの対処法



「レイアウト崩れ」がどうしても解決しない → Chrome「デベロッパーツール」で怪しいと思った要素を、正常表示されるまで削除し続けていく

CSSは、//でコメントアウトできない。1行でも複数行でも、構文は、/* コメント */ のみ



類似度ページランキング
順位 ページタイトル抜粋
1 背景画像がどうしても表示されない → 「clear:both;」を挿入してみる 32
2 「position:sticky;」がどうしても効かない →
を一旦削除してみる →
に「display:inline;」を指定
30
3 textareaのスクロールバーが横へはみ出す場合は、「box-sizing:border-box;」を指定する 30
4 「display:flex;」と記述するだけで有効 → 「flex-basis:auto; flex-direction:row; flex-grow:0; flex-shrink:1; flex-wrap:nowrap;」 29
5 ページで使用されている「id名」「class名」をChromeで取得したい   29
6 デフォルトの「Google Chrome」ではURL欄にwwwが表示されないため、「Microsoft Edge」を使用する 29
7 「position:absolute;」指定する際は、必ず(親要素を含む)祖先要素の何れかで「position」を明示的に指定 28
8 Google Chrome™ デベロッパーツールで表示できないスマホ画面を確認するためには、「mobile browser emulator」を使用 28
9 margin相殺 / 水平方向では発生しない。「position:absolute;」「position:fixed;」指定した要素では全く発生しない 28
10 「position:absolute;」が分からなくなったときに見るエントリー 27
11 display:flexのorderプロパティを使用すると、「:first-child」「:last-child」「隣接兄弟結合子」の効果は上書きされる 27
12 <style>body{behavior:url(../../js/csshover.htc);}</style> で、リダイレクトエラー 27
13 キャッシュを待機しています →「chrome://net-internals/#dns」→「Clear host cache」ボタンクリック 27
14 「.hoge h4:before:nth-child(5n+1)」ではなく「.hoge h4:nth-child(5n+1):before」 27
15 縦中央配置するには、親要素に2行追加。display: flex; align-items: center; 27
16 異なる角度の「transform:rotate」を連続実施するためには、@keyframes を利用 27
17 ボタンクリック出来ない → 「display-inline;」を「display:inline-block;」へ変更 27
18 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある 27
19 invalid property value css background-color 27
20 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない 26
2021/8/02 8:47 更新
週間人気ページランキング / 7-26 → 8-1
順位 ページタイトル抜粋 アクセス数
1 画面キャプチャ | Chrome 拡張機能(ブラウザ) 51
2 RGB ⇔ Lab | 色変換(色) 46
3 血の色 / #b30000 / #360800 / #ff0000 | 色 31
4 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 25
5 RGBの種類 / ビットカラー | RGB(色) 24
6 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 23
7 「属性」「プロパティ」「アトリビュート」の違い | CSS 21
8 Design 0 20
9 「bgcolor」「background-color」「background」の違い | CSS 15
10 コズミックブルーが何色か分からない | 色 12
10 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 12
11 使用していないCSSをチェックする、標準的な方法を知りたい | CSS 11
11 HSLとHSVの違い | 色変換(色) 11
12 ページ内リンクの位置を微調整するためには、Negative margin を使用する | CSS 10
13 キャラクター無料着せ替えジェネレーター Rinmaru Games / オンラインサービス | イラスト素材(デザイン) 9
13 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 9
13 アドベンチャーゲーム系の素材をどうやって用意するの? | イラスト素材(デザイン) 9
13 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 9
13 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 9
14 黒体 / 色温度 / D65(6500K)/ D50(5000K)/ K | 色 8
2021/8/2 1:01 更新