このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

translateプロパティでAndroid,iPhone端末で画像がちらつく件

この記事は最終更新日から1年以上が経過しています。

あ、ども僕です。

最近、何かとスライダー的なやつを扱う機会が増えております。

よくあるスライダーですね。

こんな感じのやつですね。

画像がスーっと行くやつ。バナーなんかで良く見かけますよね。

これをスマフォンサイトでも実装しているのですが、マークアップは単純に

<div class="slider">
  <ul class="sliderLi">
    <li><img src="yes.jpg" alt="no"></li>
    <li><img src="yes.jpg" alt="no"></li>
    <li><img src="yes.jpg" alt="no"></li>
  </ul>
</div>

 

こんな感じだったりします。

liの親要素であるulに-webkit-transform:translate(-350px,0px);などで

動かしてスライドしているかの様に実装するのですが、

スライドする際、やたらと画像がチラつく!

iPhoneでもAndroidでもチラつく様子。

これは、ググって頂いてもいっぱいでるのですが、translate3dを利用すると解消する。

と沢山出てきます。つまりこういう事ですね。

-webkit-transform:translate(-350px,0px);

 

を↓

-webkit-transform:translate3d(-350px,0px,0px);

 

に変更すると解消されると。

ホントかよー。実際行ってみますと、解消されます。

おースゲー。iPhoneでもAndroidでも。。。。

ん。

Androidではまだ全然ちらついている!!

おー。回避できないのかよーと嘆いていると、どうやら原因を突き止めたようだ。

-webkit-transition:all 0.4s ease-in;

 

なんて、まとめて指定していると、それだけで負荷がかかるのかチラツキが消えない。

これをバラして指定。

-webkit-transition-property: transform;
-webkit-transition-duration:0.4s;
-webkit-transition-timing-function:ease-in;

のようにバラして記述することによって、Androidでも画像がチラつかず、スライドさせることが出来ました!
いやぁ、ちょっと時間使いましたねぇ〜。

Related Article

LATEST NEWS

RANKING

ARCHIVE

SPONSOR

現在、掲載募集中です。



Links

現在、掲載募集中です。



About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。