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

CSSCSSトラブル対応

問題発生

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


徒労に終わった対応


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

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

・alertデバッグ
→ 効果なし

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

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

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

 閲覧数:493 投稿日: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/11/23 0:56 更新
週間人気ページランキング / 11-15 → 11-21
順位 ページタイトル抜粋 アクセス数
1 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 12
1 鉄道会社毎のカラーコード | カラーコード(色) 12
2 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 10
3 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 6
3 Design 0 6
4 Fireworks で背景画像透明化 | Fireworks CS3(Fireworks) 5
5 RGB ⇔ Lab | 色変換(色) 4
5 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 4
5 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 4
5 「東京都」のカラーコード取得は難しい | カラーコード(色) 4
5 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 4
5 16進数カラーコード / 2進数 4
6 カラーコード / 色コード | カラーコード(色) 3
6 「:after擬似要素」は、Chromeの「要素を検証」で確認できない | 擬似(CSS) 3
6 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 3
6 個人的によく見返すエントリーへのLinkなど | その他 3
7 RGB ⇔ XYZ / CIE RGB / sRGB(D65) / sRGB(C) / Adobe RGB / NTSC RGB 2
7 RGBの種類 / ビットカラー | RGB(色) 2
7 8ビットカラー / インデックスカラー / パレットカラー 2
7 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2
2024/11/22 1:01 更新