ウィキペディア 縮小を定義 として...
[...]機能を変更せずにソースコードから不要な文字をすべて削除するプロセス。これらの不要な文字には通常、空白文字、改行文字、コメント、場合によってはブロック区切り文字が含まれます。これらはコードに読みやすさを追加するために使用されますが、実行には必要ありません。
現在、帯域幅を節約するためにHTML、CSS、Javascriptに対してこれを行っていますが、特定のタグ(つまり、ul
とli
アイテム)。これは本当ですか?
縮小されたコードを処理するときに誤動作する注目すべきブラウザ、プロキシ、またはその他のユーザーエージェントはありますか?
ソースを表示するときに読みやすさが失われる以外に、縮小化の欠点はありますか?
特定のタグ(つまり、ulアイテムとliアイテム)の間に空白がない場合にブラウザーが誤動作したことを覚えていると誰かが私に言いました。これは本当ですか?
はい、特定の状況では、要素がinline-block
またはinline
を表示するように設定されている場合などです。
次の2つのリストは、<li>
要素間の空白のため、レンダリングが異なります。
html
<ul>
<li>simple</li>
<li>list</li>
</ul>
<ul><li>minified</li><li>list</li></ul>
css
li {
display: inline-block;
background: blue;
color: white;
}
レンダリングされた出力
縮小化により、保守性が失われます...通常、サイトサイズで約4〜8kbの節約になります。サイト上の単一のjpgを圧縮し、画像のメタデータを削除することで、さらに節約できます。
大量のページ、サブページ、テンプレート、および5,000行を超えるCSSとJSを含むウェブサイトを構築しているのでない限り、特にメンテナンスが必要な場合は、縮小化は労力の無駄になります。修正、縮小、新しいバージョンでの縮小ファイルの上書きを行うためだけに、ファイルの縮小されていないバージョンを浮かび上がらせ、サイトを維持している次の人が同じワークフローを使用し、縮小されたCSSファイルに変更を加えないように祈ってください。戻ってきて、彼の変更を一掃します...
私はこれが起こるのを見たのでこれを持ち出します。ミニファイの前後のサイトでGTmetricsとPingdomのスコアを実行しましたが、スコアと読み込み速度は、それだけの価値があるほど変化することはほとんどありません。
私はいつもミニファイを「ペニーを節約するためにドルを使う」と呼んでいます。あなたの努力は、開発プロジェクトの他の場所でよりよく費やすことができます。
[〜#〜] html [〜#〜]、CSS、およびJavascriptを縮小するのは悪い考えですか?はい、もちろん!
ただし、CSSとJavascriptを縮小することをお勧めします。
どうして?
シンプルで優れたHTMLエディターであれば、HTMLファイルを適切にフォーマットできます。 「pre」ブロック内の空白に注意し、W3Cコンプライアンスなどのヒントを提供します。
HTMLファイルのサイズが心配な場合は... Webサーバーで静的ファイルのGZIP圧縮を有効にする必要があります。ほとんどの生きている化石がそれを処理し、顧客はそれを高く評価します。
いくつか ブラウザ IEバージョンには縮小されたfont-face
宣言に問題があります。以下を参照してください。
特定のタグ(つまり、ulアイテムとliアイテム)の間に空白がない場合にブラウザーが誤動作したことを覚えていると誰かが私に言いました。これは本当ですか?
いいえ、その記述は誤りです。これは、 空白に関するHTML仕様 に従ってブラウザがどのように機能するかを示しています。空白のシーケンス(タブ、改行、スペース)は同じことを意味します。
次のマークアップを取ります。
<ul>
<li>A</li>
<li>B</li>
</ul>
SGML改行ルール 開始タグの後、終了タグの前の空白を無視できることを示した後のこれの正しい縮小は、次のようになります。
<ul><li>A</li> <li>B</li></ul>
ミニファイツールが次のことを示した場合、ミニファイアが壊れたと言うのが適切でしょう。
<ul><li>A</li><li>B</li></ul>
このルールの例外はPREタグです。これは、事前にフォーマットされたコンテンツを指定し、ブラウザーはすべての空白文字をレンダリングすることになっています。また、技術的にはHTMLコンテンツの一部ではないため、CDATAをそのままにしておく必要があると思います。