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

CSSCSSトラブル対応

問題発生

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


徒労に終わった対応


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

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

・alertデバッグ
→ 効果なし

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

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

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

 閲覧数:452 投稿日: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 「transform:translate3d();」でスマホ実機画面が一瞬だけチラつく → 「backface-visibility:hidden;」指定すると解消される 64
2 背景画像がどうしても表示されない → 「clear:both;」を挿入してみる 32
3 「position:sticky;」がどうしても効かない →
を一旦削除してみる →
に「display:inline;」を指定
30
4 「隣接する直前要素」で「最初の要素以外」を指定するCSSセレクタは、囲う要素 直前要素:not(:first-child):has(+ 直後要素){} 30
5 textareaのスクロールバーが横へはみ出す場合は、「box-sizing:border-box;」を指定する 30
6 「display:flex;」と記述するだけで有効 → 「flex-basis:auto; flex-direction:row; flex-grow:0; flex-shrink:1; flex-wrap:nowrap;」 29
7 ページで使用されている「id名」「class名」をChromeで取得したい   29
8 デフォルトの「Google Chrome」ではURL欄にwwwが表示されないため、「Microsoft Edge」を使用する 29
9 「position:absolute;」指定する際は、必ず(親要素を含む)祖先要素の何れかで「position」を明示的に指定 28
10 「position:fixed;」指定した要素を中央寄せするためには、「left:50%;transform:translateX(-50%);」を追記します。 28
11 Google Chrome™ デベロッパーツールで表示できないスマホ画面を確認するためには、「mobile browser emulator」を使用 28
12 「:first-child」が効かない場合は「:first-of-type」 28
13 ChromeでTwitter画像をクリックした際、拡大(原寸画像以上)表示しないようブラウザ側で指定するため、Chrome 拡張機能「Stylus」を使用しました。 28
14 margin相殺 / 水平方向では発生しない。「position:absolute;」「position:fixed;」指定した要素では全く発生しない 28
15 「position:absolute;」が分からなくなったときに見るエントリー 27
16 display:flexのorderプロパティを使用すると、「:first-child」「:last-child」「隣接兄弟結合子」の効果は上書きされる 27
17 <style>body{behavior:url(../../js/csshover.htc);}</style> で、リダイレクトエラー 27
18 「文春オンライン」に掲載されている画像を「Google Chrome」ブラウザでダウンロードするためには、chrome拡張機能「Absolute Enable Right Click & Copy」を使用します。 27
19 「Google Chrome」で「このページは動作していません xxxx.net でリダイレクトが繰り返し行われました。 Cookie を消去してみてください.」と表示されるWebサイトには、「Microsoft Edge」でアクセスしてみる 27
20 キャッシュを待機しています →「chrome://net-internals/#dns」→「Clear host cache」ボタンクリック 27
2024/4/20 13:11 更新
週間人気ページランキング / 4-13 → 4-19
順位 ページタイトル抜粋 アクセス数
1 16進数カラーコード / 2進数 28
2 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 15
3 RGB ⇔ Lab | 色変換(色) 13
4 Design 0 11
4 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 11
5 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 10
6 RGBの種類 / ビットカラー | RGB(色) 9
7 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 7
8 「z-index」効果を打ち消すスタイルシートは、「z-index:auto;」 6
8 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 6
9 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 5
9 「bgcolor」「background-color」「background」の違い | CSS 5
10 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 3
10 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 3
10 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 3
11 カラーコード / 色コード | カラーコード(色) 2
11 「Create Link」代替拡張機能を探した結果は、「CopyTabTitleUrl」でした。 | CopyTabTitleUrl(Chrome 拡張機能) 2
11 イラスト素材 | デザイン 2
11 HTML5でiframeスクロールバーを表示しない方法が不明 | HTML5(HTML) 2
11 HSLとHSVの違い | 色変換(色) 2
2024/4/20 1:01 更新