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

CSSCSSトラブル対応

問題発生

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


徒労に終わった対応


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

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

・alertデバッグ
→ 効果なし

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

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

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

 閲覧数:395 投稿日: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 「.hoge h4:before:nth-child(5n+1)」ではなく「.hoge h4:nth-child(5n+1):before」 27
19 キャッシュを待機しています →「chrome://net-internals/#dns」→「Clear host cache」ボタンクリック 27
20 縦中央配置するには、親要素に2行追加。display: flex; align-items: center; 27
2023/6/10 6:42 更新
週間人気ページランキング / 6-3 → 6-9
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 42
2 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 33
3 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 23
4 16進数カラーコード / 2進数 19
5 「bgcolor」「background-color」「background」の違い | CSS 18
6 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 17
7 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 14
7 Design 0 14
7 「東京都」のカラーコード取得は難しい | カラーコード(色) 14
7 GIMPで「レイヤーとして開く」を選択した画像、の位置情報(x,y)を表示させる方法が分からない | GIMP 系(ソフトウェア) 14
8 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 13
9 RGBの種類 / ビットカラー | RGB(色) 11
10 RGB → HSL | 色変換(色) 10
10 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 10
10 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 10
11 鉄道会社毎のカラーコード | カラーコード(色) 9
11 textareaを手動リサイズできない時は、ブラウザを落としてみる | Google Chrome(ブラウザ) 9
12 RGB → 色相H … 最小値基準 × 図形 の考え方 | 色変換(色) 8
12 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 8
12 Chrome 拡張機能 カテゴリー 8
2023/6/10 1:01 更新