タグ

ブックマーク / blog.webcreativepark.net (14)

  • jQueryプラグインのメソッドパターン

    jQueryプラグインのメソッドパターン このエントリーはjQuery Advent Calendar 2013の 最終目のエントリーです。(Advent Calendarとは様々なテーマを12/1〜12/25までリレー形式でブログなどに執筆する企画です。) 今回はjQueryプラグインのメソッドパターンについて紹介をしたいと思います。 jQueryプラグインのメソッドとはどいうものかというと、まず以下のようなプラグインがあったとします。 $.fn.alert = function(options){ return this.each(function(){ $(this).click(function(){ alert(options.text); return false; }) }); } セレクタで指定した要素でアラートを表示するだけの簡単なプラグインです。(プラグインの作り方は「

    jQueryプラグインのメソッドパターン
    persee
    persee 2015/04/27
  • CSSスプライトを生成する「grunt-spritesmith」

    CSSスプライトを生成する「grunt-spritesmith」 grunt-spritesmithはCSSスプライトを生成するGruntモジュールです。 Gruntの基的な使い方は「Gruntで始めるWeb制作の自動化 - to-R」を参照に。 grunt-spritesmithのインストールは以下のコマンドです。 npm install grunt-spritesmith --save-dev Gruntfile.jsの内容は以下のようにします。srcで個別の画像を置くディレクトリを、destCSSで関連するCSSを書き出すファイル名(SassやLess、StylusでもOK)を、destImgで結合したスプライト画像のファイル名を指定します。 module.exports = function(grunt) { //グラントタスクの設定 grunt.initConfig({ spr

    CSSスプライトを生成する「grunt-spritesmith」
    persee
    persee 2014/08/14
    compassやめてこっちにしようかな。。
  • iOS6でtransitionアニメーションが少し遅れて開始する問題

    iOS6でtransitionアニメーションが少し遅れて開始する問題 よくあるスワイプギャラリーを作成しているとiOS6でアニメーションが少し遅れて開始する問題にぶつかりました。 どういった感じかというとスワイプ終了時に以下のようにしてtransitionを利用して規定位置までアニメーションさせようとすると一拍あいてから動き出す。iOS5だとちゃんと動作します。 $("#carouselInner") .css("-webkit-transition","-webkit-transform 600ms ease") .css("-webkit-transform","translate3d("+x+"px,0,0)"); 色々調べていると以下のページに行き当たりました。 iOS6 html hardware acceleration changes and how to fix them

    iOS6でtransitionアニメーションが少し遅れて開始する問題
    persee
    persee 2013/09/02
    1つ目の内容は「Not all CSS Properties trigger hardware acceleration any more」という感じでwebkit-transform: preserve-3dではハードウェアアクセラレーションにならないよという内容。これは有名。
  • CompassでデータURI スキーム

    CompassでデータURI スキーム Sassの拡張機能であるCompassを利用するとCSS スプライトだけでなくデータURI スキームも簡単に作成できます。Compassすごい。 次のようにinline-image()で画象フォルダ内のbase64エンコードしたい画象を指定します。 .dataUriImage{ background-image: inline-image("sprite/a.png"); width:50px; height:50px; } そうするとCSS内に次のように画象がbase64エンコードされたデータURI スキームで出力されます。 .dataUriImage { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNC

    CompassでデータURI スキーム
    persee
    persee 2013/04/19
    やべー
  • クロスフェードを実現するCSS4のcross-fade()

    クロスフェードを実現するCSS4のcross-fade() iOS6のMobile Safariではimage-set関数以外にもクロスフェードを実現するCSS4のcross-fade関数が実装されています。 cross-fade関数は元々、CSS3として実装が議論されていましたが最新の仕様ではCSS4に移行しているみたいです(よくわからないけど)。 クロスフェードでは2つの画象がそれぞれ異なる透過度をもって重なって表示している状態を作り出せます。 #img{ background:-webkit-cross-fade( url(cover.png) ,url(img.jpg) , 0% ); width:500px; height:667px; } この場合はcover.pngが0%の透過度、img.jpgが100%の透過度で表示されます。 サンプル #img{ background:-

    クロスフェードを実現するCSS4のcross-fade()
    persee
    persee 2012/12/08
  • iOS6のリモートWebインスペクタ

    iOS6のリモートWebインスペクタ iPhone5が販売されて、それに合わせてiOS6がリリースされました。ちょっとアップデートは様子見をしようと思っていたのですが、iOS6のリモートWebインスペクタが気になったので検証用のiPhoneのiOSバージョンを4.3から一気に6にアップデートしました。 iOS6のリモートWebインスペクタの使い方 iPhoneの設定 iPhoneの設定→Safari→詳細でWebインスペクタをオンにします。 WebインスペクタをオンにしたらSafari6がインストールされているMacとケーブルで繋ぎます。 ちなみにiOS6ではこれまであったデバッグコンソールがなくなってるのでWindowsの人はアップデートしないほうがいいかも。 Macの設定 Safariを立ち上げて開発メニューから「WebKit Webインスペクタを使用」にチェックを入れます。 iPho

    iOS6のリモートWebインスペクタ
    persee
    persee 2012/10/17
  • スマートフォンとposition:fixedのバグ

    スマートフォンとposition:fixedのバグ iPhoneではiOS5からAndroidでは2.2からposition:fixedに対応されてスマートフォンでも固定配置が利用できつつあります。と思いきや色々と落とし穴が多いのでまとめておきます。 Androidではuser-scalable=noが必須 <meta name="viewport" content="user-scalable=no" /> Androidではviewportにuser-scalable=noの指定がないとposition:fixedが動きません。iPhoneではuser-scalable=noの指定がなくてもposition:fixedが動きますがけっこう挙動が微妙なのでuser-scalable=noは指定しておいたほうが良いでしょう。 サンプル(user-scalable=noあり) サンプル(us

    スマートフォンとposition:fixedのバグ
    persee
    persee 2012/08/28
    user-scalable=noとposition: fixedを使用すると、-webkit-transformが動かなくなる
  • @keyframesとAndroid

    @keyframesとAndroid CSS3の@keyframesでアニメーションを作成しているんですがAndroidでかなりバグがあるようです。 transformに複数の値を指定すると動かない @-webkit-keyframes hogeName{ 0% {-webkit-transform:scale(1,2)} 50% {-webkit-transform:scale(2,2) translateY(10px)} 100% {-webkit-transform:scale(1,1) translateY(0)} } サンプル というようにtransformに複数の値が不規則に入る場合Androidでは動作しなくなることがあります。(このサンプルだとscaleの指定が無視される) @-webkit-keyframes hogeName{ 0% {-webkit-transform

    @keyframesとAndroid
    persee
    persee 2012/08/28
  • ページ内リンクをスマートにするsmoothScroll.js[to-R]

    ページ内リンクをスマートにするsmoothScroll.js ページ内リンクをスムーズに行うjsライブラリ、smoothScroll.jsを作成したので公開します。 どういったものかはサンプルで確認してください。 <a href="#header">ページの先頭に戻る</a> などのページ内リンクをスムーズな移動に変更します。 これにより、エンドユーザーがページが遷移したという錯覚におちいることはありません。 設置方法は簡単です。 smoothScroll.jsをダウンロードして、設置したいページで取りこみます。 <script type="text/javascript" src="./smoothScroll.js"></script> 特定のリンクはスムーズさせない smoothScroll.jsは#(ハッシュ)付きのリンクを全てスムーズスクリプトに変換します。他のライブラリなどで#

    ページ内リンクをスマートにするsmoothScroll.js[to-R]
    persee
    persee 2012/07/30
  • Android4.0とiframe

    Android4.0とiframe iframe内でコンテンツを展開するとAndroid4.0でシビレルくらい様々なバグが発生します。 弊社松田の調べによると見つけただけでも以下のような不具合があるようです(Galaxy Nexus調べ)。シビレますね。 a要素に display:block を指定しても、必ずインラインになる position:fixed で配置した要素そのものがタップできない document.body.scrollTop が取得できない -webkit-tap-hightlight-color の指定が効かない ページ内のアンカーリンクが効かない ページの最下部に配置したa要素はタップはできるが、リンク遷移せず、イベントも発火しない z-indexで下に重なる要素が、pointer-events の指定が全く効かなくタップできてしまう js等で要素を位置移動しても、要

    Android4.0とiframe
    persee
    persee 2012/07/25
  • AndroidやiPhoneのHTML,CSS,JavaScriptのバグまとめ

    AndroidiPhoneHTML,CSS,JavaScriptのバグまとめ AndroidiPhoneなどのスマートフォンではHTML,CSS,JavaScriptにバグが多くてコーディングが大変になります。そこでバグを紹介しているサイト、記事をまとめてみました。(中にはバグではなく仕様なものもあるかもしれません) iOS 8.4.1の:hover問題 iOS 8.4.1で:hoverを指定していると1タップでページ遷移できない問題 【STINGER5】AndroidChromeで&nbsp;が「・」になってる気がする | ビビビッ &nbsp;を&emsp;に変更すると直るとのこと。 Mobile Safari 8でposition: fixedした擬似要素が完全に位置が固定されない - Weblog - Hail2u.net Mobile Safari 8でposition:

    AndroidやiPhoneのHTML,CSS,JavaScriptのバグまとめ
    persee
    persee 2012/05/07
  • Android2.2 とtransformのバグ

    Android2.2 とtransformのバグ Android2.2(Regza phone)で検証していると色々とバグと遭遇しました。 rotate3dに対応してない 次のようにrotate3dを利用して要素を回転させようとするとAndroid2.2 だけ回転されません。 div{ width:50px; height:50px; margin:10px; -webkit-transform:rotate3d(0,0,0,45deg); transform:rotate3d(0,0,0,45deg); background:red; } サンプル 3D系のtransformが発生すると以降の要素でrotateがきかなくなる 次のようなHTMLがあったとして、 <div></div> <div></div> <div></div> <div></div> <div id="d3d"></

    Android2.2 とtransformのバグ
    persee
    persee 2012/04/04
  • 続:Androidブラウザでviewportのwidth指定

    続:Androidブラウザでviewportのwidth指定 1年ほど前にAndroidブラウザでviewportのwidth指定という記事を書いたのですが、1年間いろんな端末や状況に対応しているうちに今は結構違うスクリプトを利用しています。 var portraitWidth,landscapeWidth; $(window).bind("resize", function(){ if(Math.abs(window.orientation) === 0){ if(/Android/.test(window.navigator.userAgent)){ if(!portraitWidth)portraitWidth=$(window).width(); }else{ portraitWidth=$(window).width(); } $("html").css("zoom" , por

    続:Androidブラウザでviewportのwidth指定
    persee
    persee 2012/01/10
  • Android端末のdevicePixelRatio

    Android端末のdevicePixelRatio WebKit系のブラウザではdevicePixelRatioというプロパティが定義されています。これは画像1pxを実際のデバイス上で何pxとしてレンダリングを行うかというもの。 CSSでdevicePixelRatioを特定できる -webkit-min-device-pixel-ratioなどは iPhone4のRetina Display対応などで一時期注目されましたね。 【Webアプリ】iPhone4 で画像をきれいに表示する色々な方法【試行錯誤編】 | KAYAC DESIGNER'S BLOG JavaScriptでは次のように取得できます。 window.devicePixelRatio そこで、Android端末のdevicePixelRatioがどうなってるかTwitterで色々な方に協力いただき調べてみました。

    Android端末のdevicePixelRatio
    persee
    persee 2011/03/25
    window.devicePixelRatio
  • 1