7

HTML5 / CSS3のように、CSSのみのアニメーション、エフェクト、ナビゲーションなどへの大きな推進力があります。

これは純粋に、C / Java / etc開発者がJavaScriptを「誤って」使用する傾向があるためですか(主にセマンティックな意味で)?

または、JavaScriptよりもCSSの利点はありますか?もしそうなら、なぜCSSが優れているのでしょうか?速いですか?

また、意味論的に言えば、CSSはスタイリング/ポジショニングにのみ使用されるべきではありませんか?では、CSSは設計の範囲を超え始めているのでしょうか。

4

4 に答える 4

14

これは純粋に、C / Java / etc開発者がJavaScriptを「誤って」使用する傾向があるためですか(主にセマンティックな意味で)?

いいえ、ポイントを1マイルも逃しました。人々がJavaScriptを使用する主な理由は、できるだけ多くのブラウザをサポートしたいからです。CSS3は新しいテクノロジーであり、最新の最高のブラウザーだけが理解できますが、JavaScriptは何十年も前から存在しています。

または、JavaScriptよりもCSSの利点はありますか?もしそうなら、なぜCSSが優れているのでしょうか?速いですか?

はい。ブラウザはシステムリソースを利用してアニメーションを実行する方法を最もよく知っており、CSSを使用してネイティブに実装する場合(ハードウェアアクセラレーションなど)にその仕事を最もよく行うことができるためです。JavaScriptを使用すると、ブラウザのスクリプトエンジンを使用してアニメーションを計算することになりますが、これは非常に高額になる可能性があります。

しかし、前述のように、最大​​の欠点はサポートが不十分なことです。

また、意味論的に言えば、CSSはスタイリング/ポジショニングにのみ使用されるべきではありませんか?では、CSSは設計の範囲を超え始めているのでしょうか。

大まかに言えば、これは常にプレゼンテーションを目的としていました。コンテンツや構造から懸念事項として分離すると、HTMLにプレゼンテーションの属性がいたるところに散らばっていたため、当時のフロントエンド開発者にとって開発地獄を綴っていました。

あなたが説明するこれらの派手な効果はすべて、プレゼンテーションの下で簡単に分類できます(つまり、アプリケーションロジック、ビジネスロジック、コンテンツ、データなどとは何の関係もありません)。したがって、CSSを使用して行うのが適切だと思われます。そして、それは私たちが今日いる場所に私たちをもたらします。

要約すると、次のようになります。

  • JavaScriptは、ブラウザーのサポートが最優先事項である場合に使用されます(ビジネス・アプリケーションでは、ほとんどの場合、JavaScriptが使用されます)。また、別のテクノロジーに変換または移行するにはコストがかかりすぎる場合も、そのまま維持されることがよくあります。

  • それ以外の場合は、CSSが使用されます。もちろん、JavaScriptフォールバックが提供されることがよくあります。これは、実験や新規/スタートアッププロジェクトでよく見られます。

于 2012-10-10T18:04:45.423 に答える
5

ここにVSが表示されません。実際、素晴らしいWebアプリは、両方を組み合わせて作成する必要があると思います。

ユーザーインタラクション用のJavaScriptとデザイン用のCSSについて考えるのが好きです。それが私が特定の目的のためにどれを使うべきかを決める方法です。

今日では、互換性の問題を解決するために、優秀な人々からの素晴らしい作品がたくさんあります。例:http://modernizr.com/

于 2012-10-10T18:16:51.083 に答える
0

大きな問題の1つは、すべてのブラウザでJavascriptが有効になっているわけではないということです。したがって、HTML5 / CSS3で同じ効果を達成できる場合は、Javascriptが有効になっているかどうかに関係なく、すべての最新のブラウザーで機能するという利点があります。

于 2012-10-10T18:03:44.313 に答える
0

はい、cssはjavascriptよりも高速です。さらに、javascriptには追加のhttpリクエストが必要ですが、cssのみを使用する場合はそれを回避できます。

于 2012-10-10T18:05:18.463 に答える