4

コンテンツ、プレゼンテーション、および動作の分離は毎回可能ですか?

多くの場合、javascript を介してクラスを html に追加し、CSS で使用しvisibility:hidden inlineます。

すべてを分離しておくために常に時間を費やす必要がありますか?

4

4 に答える 4

2

通常は可能ですが、実用的ではないことがよくあります。ご自身でおっしゃる通り、時間がかかります。その時間を投資する意思があるかどうかは、多くの要因の影響を受けますが、純粋主義はそのうちの 1 つにすぎません。

div実際、 orなどのタグspanはそれ自体に意味的な意味を持たないが、特にスタイリングのために考案されたので、使用した瞬間に、あなたのページにそれらの1つがあれば、すでにコンテンツとプレゼンテーションが混在しています. これは素晴らしい哲学的議論ですが、ビジネスの文脈では何の役にも立ちません。

したがって、常にコンテンツ、プレゼンテーション、および動作を可能な限り分離するように努める必要がありますが、他のことを完了するためだけに、常にどこかで停止する必要があります。

于 2010-02-10T19:53:03.377 に答える
1

あなたの質問はあまりにも一般的すぎて、明確な答えを出すことができません。

しかし、不可能なことは何もないので、可能です。

同時に、私はこう言います:

  • 費用がかかりすぎてやらないこともある
  • 場合によっては、分離しないよりもはるかに困難になるため、分離しないでください。
于 2010-02-10T19:30:09.710 に答える
1

あまり話されていないことの 1 つは、スタイルを動作から除外する方法、つまり、$('element').css({color: 'purple'})可能な限り Javascript からスタイルを除外する方法です。コードの美学と一般的な健全性の理由から、「クラス」値を更新することでコードのスタイルを変更する方がはるかに優れていることがわかりました。言い換えれば、何かが「紫」であるべきだとコードで考えてはいけません — それは「威厳のある」、「独特の」、または「醜い」ものであるべきだと考えてください:

$('.sections li.updated').each(function() {
  // ...
  if (thingsLookRight) $(this).addClass('kind-of-ugly');
  // ...
});

次に、CSS を引き継ぐことができます。

li.updated.kind-of-ugly { color: purple; }

これで、Javascript を台無しにすることなく、必要なときにいつでも自由にスタイルを微調整して「醜い」ものにすることができます。フォントを大きくしたり、非表示にしたりします。コード内のロジックとアクションは同じままです。

同様に、CSS で親/子クラスの関係を使用して、動作をシンプル、高速、スタイルフリーに保つことで、素晴らしいことを行うことができます。

于 2010-02-10T21:11:44.027 に答える
0

概念的な分離として、そう思います。

于 2010-02-10T19:30:21.553 に答える