ホームページ ウェブフロントエンド CSSチュートリアル CSSのレンダリング速度に影響を与える10の書き方と使い方の提案 Page 1/3_Experience Exchange

CSSのレンダリング速度に影響を与える10の書き方と使い方の提案 Page 1/3_Experience Exchange

May 16, 2016 pm 12:04 PM
css レンダリング速度

最近 css を書くことはめったにありませんし、今後も書くことは少なくなるかもしれません。そのため、少しでもお役に立てればと思い、私の経験の一部を皆さんと共有したいと思います。

この記事はクライアントブラウザでのwebページの表示速度を向上させるcss部分を中心に10項目に暫定的にまとめたものです。

1. *{} #jb51 *{} は避けてください

ブラウザごとに html タグの解釈が異なるため、最終的な web ページの効果はブラウザごとに異なります。このリスクを排除するために、デザイナーは通常、css の先頭にあるすべてのタグのすべてのデフォルト属性を削除して、すべてのタグの属性値を統一する効果を実現します。したがって、* ワイルドカードがあります。 * すべてのタグを走査します。

*{margin:0; padding:0}
ログイン後にコピー


このように記述すると、ページ上のすべてのタグのマージンは 0 になり、パディングも 0 になります。

#jb51 *{margin:0; padding:0}
ログイン後にコピー


このように書くと、jb51 に等しい id の下にあるすべてのタグのマージンはすべて 0 になり、パディングも 0 になります。
/>
この方法で記述する場合の問題 はい:
a. トラバースには多くの時間がかかります。html コードが標準化された方法で記述されていない場合、または特定のタグが必ずしも一致しない場合、今回はさらに長くなる可能性があります;
b. 多くの場合、タグにこの属性がないか、属性自体が統一されているため、再設定に時間がかかります。

推奨される解決策:
a. 馴染みのないタグは使用しないでください。これらのタグはブラウザによって解釈が異なることが多いため、一般的に使用されるタグをできるだけ使用する必要があります。
b. 代わりに *; を使用しないでください。 、process でよく使用するタグを使用します。例: body,li,p,h1{margin:0; padding:0}

2. 一部のフィルターは使用しないでください。
>
一部の ie フィルタは firefox ではサポートされていません。エフェクトを作成するときは、今でも css hack を使用することがよくあります。フィルタは非常にリソースを消費します。特にフェザリング、シャドウ、前面透明エフェクトなどです。
例: シャドウ効果:

<style> 
body {margin:100px;} 
#login_b {width:200px;height:200px;background:#000;-moz-opacity:0.2; filter:alpha(opacity=20);
margin:-30px 0 0 600px; position:absolute;} 
#login_t { z-index:10;border:1px solid #006600;width:200px;height:200px;background:#fff;
margin:-35px 0 0 595px; position:absolute;} 
#info{ background:#009900; height:155px;} 
</style> 

<div id="info"> 
<div id="login_t">test</div> 
<div id="login_b"></div> 
</div>
ログイン後にコピー


提案される解決策:
a. を使用できない場合は、それは使用しないでください。一方で、互換性の問題があります。多くの効果は ie でのみ使用できます。
b. この場合、そのような効果が必要な場合は、使用することをお勧めします。背景としての画像; (ここでは速度の最適化についてのみ説明しますが、実際のアプリケーションでも小さな部分で使用できます。人によっては、画像を使用すると http リクエストが 1 つ増えると言うかもしれません(笑)。 ..)

非常に良い例として、今年 5 月 12 日の地震の際、多くの web サイトが一夜にして変更され、灰色になり、css コードは 1 行しか使用されていませんでした。


プログラムコード

body{filter: gray;}
ログイン後にコピー




しかし、これらの web ページは非常に遅く、開くと cpu の使用率が急上昇することがわかります。と言っても過言ではありません。コンピュータの設定が悪い場合は、命を落としても過言ではありません。

3. ページ上での絶対位置の使用を減らします

絶対位置 (position:absolute) は、web ページのレイアウトで、特にフローティング効果を作成する場合に非常に一般的に使用されます。ページをとてもクールに見せます。ただし、web ページ内で絶対位置指定を多用すると、web ページが非常に遅くなり、この点では firefox のパフォーマンスは ie よりもさらに悪くなります。

例:

プログラム コード

<style>li{ position:absolute;}</style> 
<ul> 
<li style="left:10px; top:20px">001</li> 
<li style="left:30px; top:70px">001</li> 
<li style="left:40px; top:50px">001</li> 
…… 
</ul>
ログイン後にコピー

提案される解決策:
aできるだけ使用しないでください。この使用量を減らすことの価値を説明するのにあまり適切な値はありません。絶対位置タグの内容にも依存します。ここでは、次のように書くことしかできません。
パフォーマンス上の問題があるため、使用は慎重に行ってください。
b. 回避策を使用しても同じ効果が得られる場合は、回避策を使用します。

4. 背景画像の背景タイリング

一部の web ページの背景またはページの特定の部分の背景には、通常、画像のタイリングが必要です。タイリングの回数は、1回なら大丈夫ですが、複数回だとダメです。

簡単な例:

例 1: ページをスクロールして速度を確認してください。

<div style="height:8000px; background:url(http://img.jb51.net/images/i2008962026.gif)"></div>
ログイン後にコピー

例 2: 同じ効果なので、もう一度試してください。

<div style="height:8000px; background:url(http://img.jb51.net/images/120089620424.gif)"></div>
ログイン後にコピー


注: 上記の 2 つの効果をテストしてください。コンピュータの状態が悪くなるほど、その影響がより顕著になります。コンピュータの構成が非常に良好な場合は、8000 ピクセルを変更できます。 9000000pxまでにしてみて、それでもダメなら大きいサイズに変更してみてください
心配なら叱らないでください!

推奨される方法:
a. 色の少ない画像は gif 画像にする必要があります。
b. タイル状の画像はできるだけ大きくする必要があります。gif 画像の場合は、色が少ない場合、画像が大きい場合、実際のサイズはそれほど大きくなりません。上記の 2 つの例は、最初の画像が非常に小さく、2 番目の画像が大きいことを示す良い証拠です。ただし、速度は大きく異なります。

5. できるだけ多くの属性を継承する

可能な限り、子が親を上書きするのではなく、親から一部の属性を継承するようにします。

簡単な例:

<style> 
a:link,a:visited{color:#0000ff} 
a:hover,a:active{color:#ff0000} 
#jb51 a:link,#jb51 a:visited{ font-weight:bold} 
#jb51 a:hover,#jb51 a:active{ font-style: italic;} 
</style> 
<div><a href="#">test</a><div> 
<div id="jb51"><a href="#">jb51</a></div>
ログイン後にコピー
ログイン後にコピー
<style> 
a:link,a:visited{color:#0000ff} 
a:hover,a:active{color:#ff0000} 
#jb51 a:link,#jb51 a:visited{ font-weight:bold} 
#jb51 a:hover,#jb51 a:active{ font-style: italic;} 
</style> 
<div><a href="#">test</a><div> 
<div id="jb51"><a href="#">jb51</a></div>
ログイン後にコピー
ログイン後にコピー

実際には、デフォルトで設定した属性を継承するように jb51 に依頼しました。これらの属性はすでに存在しているためです。

また、特に重要ではない場所についてもいくつかお話します。上記の場所ほど大きくはありませんが、普段から注意してください。

6. css パスを深くしすぎないでください。
例:

プログラム コード

#jb51 #info #tool #sidebar h2{ font-size:12px;}
ログイン後にコピー




7. 省略可能 一部は省略形です。
例:

#jb51{pading-top:10px; padding-right:50px; padding-left:50px; padding-bottom:4px;}
ログイン後にコピー

次のように変更します。

#jb51{padding:10px 50px 4px 50px}
ログイン後にコピー


これはレンダリング速度には影響しません。単に文字数が減るだけです。

8. 空のクラスやクラスを配置しないでください。 html コード;

9. float の適用
私の感覚では、これを不適切に使用すると、間違いなくパフォーマンス上の問題が発生し、サイズも非常に大きいのですが、実際にはそうではありません。ここで私が言えるのは、float の仕組みをよく理解していない場合は、float の使用を控えた方がよいということだけです。

10. 合理的なレイアウト
なぜそう言えるのかというと、合理的なレイアウトは css の書き方や描画処理を変える可能性があります。

実際には、css パーツとして要約できないものもあります。

上記は、css のレンダリング速度に影響を与える 10 個の書き方と使用方法の提案です。 page 1/ 3_ 体験交換コンテンツについては、php 中国語 web サイト (www.php.cn) に注目して、関連コンテンツをご覧ください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

See all articles