3

おそらく理想的な方法は、CSS がドキュメントのプレゼンテーションの側面のみを扱うことであり、CSS と Javascript が分離され、非常にクリーンなソリューションになると思います。他のものを壊すことなく、任意の CSS または任意の Javascript を変更できます。

しかし、検索ボックスに灰色がかった単語などの派手な UI を実装し、ユーザーがボックスをクリックするとその単語が消えるとしたらどうでしょうか。このような場合、CSS と Javascript は非常に結合されており、CSS を変更すると Javascript のどこかに影響が及びます。また、プロジェクトでは 5000 行の CSS と 8000 行の Javascript が存在する可能性があり、それぞれをハンティングする必要があるため、扱いが困難です。他のダウンしてそれらを一緒に変更すると、バグが発生し、保守が難しくなる可能性があります。よりきれいにするためのより良い方法はありますか?

4

5 に答える 5

2

ある意味では良いことも悪いこともありますが、JavaScript に CSS を追加することもできます。たとえば、多くの jquery プラグインは、スクリプトの一部として必要なすべての CSS を作成します。つまり、すべてが 1 か所にあります。

これは CSS ファイルと JS ファイルが異なるため、より優れていますが、プレゼンテーションを JS レイヤーに移動する必要があります。

于 2011-04-03T16:25:59.343 に答える
2

IMO、テキストボックス内の灰色がかった単語は、動作ではなく純粋に表示上のものであるため、CSS を使用してそれを行うことはまったく問題ありません。このような UIをJavascript で実装しようとすると、プレゼンテーションの動作が混乱します。

5000 行の CSS がある場合は、おそらく別の問題があります。

于 2011-04-03T16:27:39.963 に答える
2

HTML 5 では、いくつかの機能 (検索ボックスの灰色のテキストや新しい入力タイプなど) を導入して、すっきりさせようとしていますが、あなたの言いたいことはわかります。Microsoft が少し前に Web を支配し、blink や markee (または Netscape だった?) などのタグや、.htc (IE の動作) や ActiveX などのテクノロジを追加して、Web をかなり混乱させたことを思い出してください。

ウェブ上で開発するテクノロジーはたくさんありますが、クライアント側では CSS と Javascript が唯一の選択肢だと思いますので、すべてはコードの書き方と最新の仕様を使用しようとすることにかかっていると思います (ただし、互換性は次のようになります)。問題...)

頑張ってください。何か見つけたら、遠慮なくお知らせください。:D

于 2011-04-03T16:29:42.433 に答える
1

HTML4 と CSS 2 は、説明した内容を達成するために必要なセマンティクスを実装していないため、JavaScript を使用してこれらの問題を解決することになります。

HTML5 と CSS3 は、説明したようにレイヤーを分離するためのより優れた実装を備えており、CSS/HTML が UI を処理し、Javascript がロジックを処理します。たとえば、HTML5 の「プレースホルダー」、「必須」入力属性、および CSS3 の高度なセレクターとコンテンツ プロパティの導入により、より優れた構造を実現できます。

今のところ、可能な場合は目立たない js を使用し、おそらく 5000 行の CSS を使用して、CSS と JavaScript をより管理しやすいチャンクに分割することを検討してください。

于 2011-04-03T16:32:28.577 に答える
0

問題は CSS と Javascript の密接な結合ではないと思います。問題は CSS を正しく使用することです。特定の関数 (灰色のボックスなど) と密接に結合されている CSS がある場合、それを他の場所で再利用するべきではありません。サイト全体で共有される部分 (基本的なスタイルなど) と、その 1 つの要素の機能に固有の部分がある場合は、クラスを 2 つに分割する必要があります。

CSS には 2 つの目的があります。スタイリングと、同じように表示され機能する必要がある要素の識別です。したがって、クラスを変更すると何かが壊れる場合は、クラスを誤用しているか、別のクラスを作成する必要があります。単なるスタイリングではなく、接着剤です。

オブジェクト指向プログラミングとの類似点は、継承されたクラスの作成です。ある場所で使用されているクラスがあり、別の場所で少し異なることを行う必要がある場合、そのクラスは変更せず、新しい状況に合わせて継承されたクラスを作成し、元のクラスには影響を与えません。CSS では、別のクラスを作成し、スタイル クラスと機能に固有のスタイル クラスの両方を灰色の消えるボックスに適用します。基本的なスタイルを変更したい場合は、それのみを処理するクラスを安全に更新できます。特定のグレー ボックスで作業する必要がある場合は、その機能に固有のクラスのみを使用します。

于 2011-04-03T16:35:06.380 に答える