タグ

cssとDOMに関するefclのブックマーク (34)

  • Performance

    Sorry; your browser does not support svg! Sorry; your browser does not support svg! http://www.meetup.com/framsia/ < 100ms "0.1 second [100ms] is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result." Jakob Nielsen

    efcl
    efcl 2012/04/11
    JavaScriptやDOM、リフローを起こすDOM APIのまとめ、リドロー、CSSセレクタ、event dlegation、要素のキャッシュなどのパフォーマンスについてのスライド
  • ReFlowの原因とマークアップの最適化 « NAVER Engineers' Blog

    自己紹介 ネイバージャパンのUIT(User Interface Technology)チームの裵完理(ベワニ)です。 概要 CSSJavaScriptを使って複雑なデザインや動的なページを実装しているサービスが増えてきていますが、速度低下などの問題が発生しやすくなっています。これを100%直すことは難しいですが、改善するにはブラウザレンダリングプロセスを理解する必要がありますので、理解した上で改善方法を探してみましょう。 ブラウザレンダリングプロセスの理解 ブラウザの基構造 User Interface – アドレスバー、戻る・進むボタン、ブックマークメニューなど、メインウィンドウに表示(document)されるページ以外の部分 Browser Engine – UIとレンダリングエンジン間のアクションを制御するもの Rendering Engine – リクエストしたコンテンツを表

    efcl
    efcl 2011/11/04
    リフローに関する対策方法などを解説した記事。 ケース毎のシナリオで紹介している
  • Sign in - Google Accounts

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    efcl
    efcl 2011/09/06
    "How Browsers Work" 二つ目の翻訳 http://d.hatena.ne.jp/cou929_la/20110828/1314515940 読み比べるといいのかな。
  • How Browsers Work - Behind the Scenes of Modern Web Browsers — Translation of "How Browsers Work" 0.1 documentation

    この翻訳について¶ この文章は HTML5 Rocks で公開されている How Browsers Work: Behind the Scenes of Modern Web Browsers を非公式に和訳したものです. 内容の正確性は保証しません. ライセンスは原文と同じく, 文章は Creative Commons Attribution 3.0 License , サンプルコードは Apache 2.0 License です. フィードバックは Issue への登録 , あるいは Kosei Moriyama (@cou929 または cou929 at gmail.com) へ直接お願いします. GitHub に この和訳のリポジトリ があります. 以下の Preface でも言及されていますが, この文章は Tali Garsiel さんが自身のサイトで公開していたものを Pa

    efcl
    efcl 2011/08/28
    ブラウザのパーサー、レキサーの話。 CSSのリフローや適応ルールについて、スタイルコンテキストツリー。
  • querySelector(All)のレシーバは、セレクタのコンテキストには影響を与えない - rikubaのブログ

    <ul id="list"> <li>階層1</li> <li>階層1 <ul> <li>階層2</li> <li>階層2</li> </ul> </li> </ul> <script> var list = document.getElementById('list'); var lis = list.querySelectorAll('ul li'); </script> 変数lisには階層2のli要素だけが含まれると思っていたが、実際には階層1のli要素も含まれてしまう。 querySelector、querySelectorAllは、レシーバの要素を基準にしてセレクタにマッチする要素を探し出すのではなく、まず文書からセレクタに一致する要素を探し出し、その中からレシーバの要素の子孫にあたる要素だけを選び出すようだ。 期待していた結果をjQueryで例えると... $('#list')

    querySelector(All)のレシーバは、セレクタのコンテキストには影響を与えない - rikubaのブログ
    efcl
    efcl 2011/06/23
    querySelectorはレシーバの要素から基準に走査するわけではないという罠。
  • Selectors API Level 2 (W3C Working Draft 28 June 2012)

    Selectors API Level 2 W3C Working Group Note 17 October 2013 This Version: http://www.w3.org/TR/2013/NOTE-selectors-api2-20131017/ Latest Editor's Draft: http://dev.w3.org/2006/webapi/selectors-api2/ Latest Version: http://www.w3.org/TR/selectors-api2/ Previous Version: http://www.w3.org/TR/2012/WD-selectors-api2-20120628/ Editor: Lachlan Hunt; Invited Expert; lachlan.hunt@lachy.id.au> Copyright ©

    efcl
    efcl 2011/06/23
    querySelector scope
  • matchesCssRule.js

    概略 対象の要素がスタイルシートで定義されているセレクタ (document.styleSheets[i].cssRules[j].selectorText) にマッチするなら、true を返します。 property も指定しているなら、該当プロパティを持つセレクタに合致する場合に true を返します。 (X)HTML の style属性によるスタイル適用は判定条件に入っていないので、「スタイルシートを適用しているか」をチェックするなら element.style[property] も検査する必要があります。 ダウンロード matchesCssRule.js gist: 630663 (matchesCssRule.js) - GitHub サンプル 下記の要素をクリックすると、true または false を alert します。(* コードはブラウザの [ソースを表示] で確認し

    efcl
    efcl 2011/06/20
    document.styleSheets, cssRules セレクタマッチ
  • 五章第三回 CSSの操作 — JavaScript初級者から中級者になろう — uhyohyo.net

    五章第三回 CSSの操作このページの最終更新日:2017年8月24日 前回は、CSSがどのような構造をしているのか説明しました。今回は、その構造をいじることについて解説します。 CSSRuleの追加と削除まず、CSSRuleを子に持つCSSStyleSheetやCSSMediaRuleに、CSSRuleそのものを追加したり、あるいは削除したりする方法を解説します。 CSSStyleSheet(やCSSMediaRule)は、insertRuleとdeleteRuleという2つのメソッドを持っています。その名の通り、insertRuleは新しいCSSRuleを追加、deleteRuleは今あるCSSRuleを除去するメソッドです。 insertRuleまずinsertRuleの使い方から見ていきます。insertRuleは2つの引数を持ち、ひとつめの引数は追加するルール、ふたつめの引数は追加

    五章第三回 CSSの操作 — JavaScript初級者から中級者になろう — uhyohyo.net
    efcl
    efcl 2011/06/20
    CSSStyleSheet(やCSSMediaRule)は、insertRuleとdeleteRuleという2つのメソッドを持っています。insertRuleは新しいCSSRuleを追加、deleteRuleは今あるCSSRuleを除去するメソッドです。
  • ブラウザ動作の理解-レンダリングの負荷を測る | ゆっくりと…

    転勤・単身赴任というライフ・イベントがあり、すっかり更新が止まっていましたが、前回 に続き、「Rendering: repaint, reflow/relayout, restyle」から後半のレンダリング負荷を測るツールの使い方をお届けします。記事中の リフロー や リペイント といった用語は、前回記事「用語の定義」 を参照してください。 元記事は初稿が2009年12月でツールのバージョンも古いため、現時点の最新バージョンで記事を再構成しています。また実行環境によって観測結果が異なるため (非力なマシンの方がレンダリング負荷の割合が高いけど、サンプルとしては分かりやすい)、以下に記事で試した環境を記しておきます。 dynaTrace AJAX Edition バージョン:Version: 2.1.0.603, built on 2010-12-15 ブラウザ、PC:IE8 / Wind

    efcl
    efcl 2011/02/13
    リフローなどの時間をGUIで確認できるツールについての紹介 dynaTrace(IE,Firefox向けベータもでた)とSpeedTracer(Webkit)を使ってリフローの観測
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    efcl
    efcl 2011/02/09
    Web開発者により書かれた、Web開発者のための技術文章。 # DOM manipulation # CSS and style # Tips and tricks # Creating libraries that extend web browsers
  • ブラウザ動作の理解-リフローとリペイント及びその最適化 | ゆっくりと…

    ブラウザ動作の理解の2回目です。今回はレンダリング・ツリーの更新に絡む、リフロー (要素の大きさ、位置などの再計算) とリペイント (描画) に関する解説を、「High Performance Web Pages – 20 new best practices」 の著者 Stoyan Stefanov のブログエントリーから 「Rendering: repaint, reflow/relayout, restyle」 を翻訳してお届けします。 同記事は、前半がリフローとリペイントに関する解説と、表示レスポンスを向上させるためのスタイル変更に関する Tips、後半は dynaTrace AJAX Edition と SpeedTracer を使った IE および Chrome の描画パフォーマンスの計測の解説で構成されてる、長い記事となっています。 今回はその前半部分をご紹介します。 レンダ

    efcl
    efcl 2011/01/24
    Style属性の変更によりリフローとリペイントを最小限にする方法の解説。
  • W3C Introduces an HTML5 Logo

    W3C News

    W3C Introduces an HTML5 Logo
    efcl
    efcl 2011/01/18
    "W3C Introduces an HTML5 Logo " HTML5のロゴ画像が決定されたそうだ。
  • 高速な CSS セレクタエンジン「Sizzle」「Peppy」を試す - WebOS Goodies

    最近のほとんどの JavaScript フレームワークには、 CSS セレクタによる DOM エレメントの取得機能が実装されています。複数の要素を柔軟な条件で取得できるので、 DOM ツリーの操作がシンプルに記述でき、とても便利です。しかし、単に CSS セレクタを使いたいだけなのに、フル機能のフレームワークを読み込むのはちょっと抵抗がありますよね。 そんな悩みを解決してくれるのが、日ご紹介する Sizzle, Peppy という 2 つのライブラリです。これらは他のフレームワークに依存しない独立した CSS セレクタエンジンで、しかも jQuery 等の既存のエンジンより数倍高速に動作します。 unobtrusive な Web ウィジェットの開発や、独自フレームワークの開発に最適ですね。その他にも広範な用途に使えるでしょう。 以下でこれらのライブラリの使い方や動作速度等の検証結果を掲

    efcl
    efcl 2010/10/13
    CSSセレクタエンジン。Peppy
  • Nicole Sullivan「再フロー&再描画:Javascriptを重くするCSS」 - 以下斜め読んだ内容

    Yahoo!のNicole Sullivanの2009.3.27のブログエントリ Reflows & Repaints: CSS Performance making your JavaScript slow? ウェブページのパフォーマンスを遅くさせるCSSの使い方。およびその回避策がテーマ 再フロー&再描画をどうやって減らすか。 TIPSは6つ紹介されてる。が、javascriptを書かないCSS書きに関係するのは、5〜6番目の table要素は特殊。固定レイアウトアルゴリズムでレンダリングされるようにしろ。 MS独自仕様のcss expression使うな。 のみ。 以下斜め読んだまとめ。 Operaの記事「Efficient JavaScript」によると再描画と再フローがjsが重くなるのに影響してる 同僚のStoyan Stefanovと一緒にこの問題の定量化に取組中 再描画と再フ

    Nicole Sullivan「再フロー&再描画:Javascriptを重くするCSS」 - 以下斜め読んだ内容
    efcl
    efcl 2010/08/16
    CSSが再フローの原因になるのを回避する。 styleプロパティは毎回リフローを有無