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

CSSCSSトラブル対応

問題発生

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


徒労に終わった対応


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

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

・alertデバッグ
→ 効果なし

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

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

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

 閲覧数:355 投稿日: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 「position:fixed;」指定した要素を中央寄せするためには、「left:50%;transform:translateX(-50%);」を追記します。 28
9 Google Chrome™ デベロッパーツールで表示できないスマホ画面を確認するためには、「mobile browser emulator」を使用 28
10 「:first-child」が効かない場合は「:first-of-type」 28
11 ChromeでTwitter画像をクリックした際、拡大(原寸画像以上)表示しないようブラウザ側で指定するため、Chrome 拡張機能「Stylus」を使用しました。 28
12 margin相殺 / 水平方向では発生しない。「position:absolute;」「position:fixed;」指定した要素では全く発生しない 28
13 「position:absolute;」が分からなくなったときに見るエントリー 27
14 display:flexのorderプロパティを使用すると、「:first-child」「:last-child」「隣接兄弟結合子」の効果は上書きされる 27
15 <style>body{behavior:url(../../js/csshover.htc);}</style> で、リダイレクトエラー 27
16 「文春オンライン」に掲載されている画像を「Google Chrome」ブラウザでダウンロードするためには、chrome拡張機能「Absolute Enable Right Click & Copy」を使用します。 27
17 「Google Chrome」で「このページは動作していません xxxx.net でリダイレクトが繰り返し行われました。 Cookie を消去してみてください.」と表示されるWebサイトには、「Microsoft Edge」でアクセスしてみる 27
18 キャッシュを待機しています →「chrome://net-internals/#dns」→「Clear host cache」ボタンクリック 27
19 「.hoge h4:before:nth-child(5n+1)」ではなく「.hoge h4:nth-child(5n+1):before」 27
20 縦中央配置するには、親要素に2行追加。display: flex; align-items: center; 27
2023/2/05 0:41 更新
週間人気ページランキング / 1-28 → 2-3
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 49
2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 37
3 「bgcolor」「background-color」「background」の違い | CSS 36
4 RGBの種類 / ビットカラー | RGB(色) 30
5 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 25
6 「東京都」のカラーコード取得は難しい | カラーコード(色) 18
6 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 18
7 「属性」「プロパティ」「アトリビュート」の違い | CSS 17
8 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 16
8 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 16
9 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 15
9 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 15
9 「:after擬似要素」は、Chromeの「要素を検証」で確認できない | 擬似(CSS) 15
10 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 14
11 Design 0 13
11 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 13
12 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 12
12 GIMPで「レイヤーとして開く」を選択した画像、の位置情報(x,y)を表示させる方法が分からない | GIMP 系(ソフトウェア) 12
12 HSLとHSVの違い | 色変換(色) 12
13 ICCプロファイル | カラーマネージメント(色) 11
2023/2/4 1:01 更新