ラベル css3 の投稿を表示しています。 すべての投稿を表示
ラベル css3 の投稿を表示しています。 すべての投稿を表示

2014年6月22日日曜日

GoogleのWeb Starter Kitが良さげ

Web作成するうえで必ず書かなければならないコードってありますよね?

最近ではモバイル端末も意識しなければならないので、非常に多くのコードとレイアウトへの意識が必要になりました。


それらをドキュメンテーションも含めてテンプレート化しちゃったものがこちら

Google Web Starter Kit


さっそくダウンロードしてみました。


結論からいって、なかなか良さげです。さすがGoogle。

めんどくさーいレスポンシブも含めてある程度のデザインがclass指定だけで出来ちゃう。

アイコンとかもセットになってる。


依存するライブラリもないみたいなので、bootstrapなんかとも共存できるんじゃないかな?


詳しい使い方は同梱のstyle guideで確認できます。メニューは以下。


  1. Typography
  2. Buttons
  3. Lists
  4. Links
  5. Icons
  6. Breadcrumbs
  7. Table
  8. Grid
  9. Colors
  10. Highlights
  11. Editorial header
  12. Article section
  13. Guides section
  14. Page header
  15. Quote
  16. Featured icons
  17. Featured spotlight
  18. Featured list
  19. Featured block
  20. Article navigation

雰囲気はこんな




今度うちのサイトをこれ使ってリニューアルしてみようかなー

2013年6月4日火曜日

nolib.jpちょっと修正。超軽量テキストハイライトライブラリ「google code pretify」

自作のJavaScriptライブラリ「nolib.jp」の話です。


inputやtextareaにソースを書いていると、どうしてもスマートフォンで見たときに使いにくくなってしまいます。

特にnolib.jpの構成はviewportを820に設定してありますので普段全体が縮小されており、入力にフォーカスがあたると等倍まで拡大され、下手をすると画面いっぱいに入力エリアが表示されてしまってもうどうしようもなくなってしまいます。


そこで、ソースコード部をテキストハイライト系のライブラリを入れて問題解消をしようと思って見つけたのが google code pretify。

このライブラリの何がすごいって、中途半端なんです。。

行番号表示も5行ずつの固定だったり、背景に関する機能は全くなし。


しかし、何よりよかったのが「軽い」ってところです。


nolib.jpはアニメーション系のライブラリ紹介サイトでサンプルを1ページ内にいくつか貼ってあったりして、手書きのアニメーション処理にして極力軽くしてはあるんですが、やはりどうしても低スペックなAndroid 3.x系の端末だと、細かいイベントハンドラ処理をやっているようなものを導入しにくいんです。


で、目を付けたのが気持ちいいくらい何もやっていないcode pretify。


非常にお世話になったので勝手にリンクをはらさせていただきます。「しゃけろぐ」さんのこちらの記事を参考にしました。


技術的な面もですが、あ、出来るんだという精神的な、背中を押してくれたような意味でも感謝です。

ちなみに今回僕が追加したのは以下のCSSです。

pre.prettyprint{
 margin: 5px 0 10px 0;
 color: #666666;
 background-color: #F0F0F0;
 -webkit-border-radius : 6px;
 -moz-border-radius : 6px;
 -o-border-radius : 6px;
 -ms-border-radius : 6px;
 border-radius : 6px;
 border: solid 1px #777777;
 box-shadow: 0px 0px 1px 2px #CCCCCC;
 
 min-width: 750px;
}
ol.linenums li {
    list-style: decimal outside;
    line-height: 1.5;
    border-left: solid 3px #6CE26C;
    padding-left: 3px;
    margin-left: 3em;
    background-color: #FFFFFF;
    font-size: 13px;
}
ol.linenums li.L1,
ol.linenums li.L3,
ol.linenums li.L5,
ol.linenums li.L7,
ol.linenums li.L9 {background-color: rgb(248, 248, 248)}


今後、色々なデバイスに見せる、という事を考える上で、機能がたくさんある凄いライブラリもですが、こういった「とにかく軽い」ライブラリにも注目が集まるかもしれないなと感じました。



2013年3月12日火曜日

translate3dは曲者臭い

html5/css3でコンテンツ作成してスマホで確認したりしてます。

まぁ前々から怪しいとは思っていたんですが、translate3dについてちょっと見えてきたのでメモ。


サポートしているデバイスではGPUで演算されるというところまでは知っているんですが、その内部処理まではよく知りません。androidならソース読めばある程度解るのかもしれませんが、ちょっと色々ね。まぁ面倒でそこまではまだちょっと。


iOS系はちょっと違うようですが、どうもAndroid系はtranslate3dで指定された要素の座標変換をやってるんじゃなかろうかと。で、translate3dされた要素はページ自体とは別の座標軸を持つことになり、結果描画のたびに基本座標からの位置評価と座標変換の2つ処理が別べつに走っているように思えます。少なくともmarginとは別評価な気がする。


例えばGalaxy nexus(4.0)で、上下スワイプでmarginを操作してスクロール出来るようにしたレイヤーに、translate3dを当てた要素を載せたページを見ると、他の要素とはバラバラに移動して見えるんですよね。

これって2つのCPUとGPUの時間的同期が取れないから瞬間の描画している座標位置にずれがでてるんじゃないかなぁ?


他にもtranslate3dでアニメーションさせると画像がちらついたり、translate3dが設定されている要素にあたるカーソル位置もおかしくなったり色々あるんですよね。


いずれにせよ、ウェブコンテンツのアニメーションにtranslate3dを使う時は注意したほうがよさそうです。