2011-02-02 4 views
1

曖昧なタイトルで申し訳ありませんが、私は質問を1行で記述することができません。質問は共通のバックエンドテンプレートから生成されるページタイトルに関するもので、どのCSSセレクタを使用しますか?

<h2 class='page-title'> {title} </h2> 

{title}はアプリケーションによって動的に生成されます。私は同じテンプレートから生成された私のサイトの各ページに1つを持っています。ページについて

  1. <h2 class='page-title'>About</h2>
  2. サービスのページ:<h2 class='page-title'>Service</h2>
  3. ホームページ:<h2 class='page-title'>Home</h2>

私は何をしたいこと3.ホームページからそれを隠すために、ですが、それは表示してみましょう他のすべてのページでCSSまたはJavascriptを使用します。私は愚かにh1 {display:none}を試しましたが、すべてを隠して、私は隠したいだけです<h2 class='page-title'>Home</h2>

どのようにそれを行うにはどのようなアイデア?

+0

ワウ... 1時間以内に非常に多くの回答を得ました!私はstackoverflowコミュニティが大好きです。皆さん、ありがとうございました! – CuriousMind

答えて

3

どちらか自分のホーム・ページのタイトル、特定のIDを与え、または、ホームページ自体にページ内のCSSを使用してバックエンドのコードを使用すること:

h2.page-title { 
    display:none; 
} 
1

あなただけのホームページにスタイルを追加する必要がある、またはあなたが現在ホームページを表示していることを示しているクラスがあります:

h2.page-titleは、要素を選択するのは非常に具体的な方法ですが、それすべてのページに影響します。

.page-titleは、クラスがh2要素でのみ発生することがわかっている場合には機能します。

あなたは次のことを行うことができ、本体の上にクラスを使用している場合:

body.frontpage h2.page-title 

またはbody.frontpage .page-titleは、あなたがなりたい方法を具体的に依存します。

私は、特異性の問題を避けるため、できるだけジェネリックであることを推奨します。

1

私は、ページごとに一意のIDを(あなたの<html>要素を与えるだろう):あなたはCMSを持っている場合は

<html id='{pageid}'> 
... 
<h2 class='page-title'> {title} </h2> 
... 
</html> 

そして、セレクタ

#home .page-title { display: none } 
1

を使用または何かシンプルな、単一のテンプレートにコンテンツをダンプする、私はあなたがこれのためのjavascriptで良いと思います。私は要素のinnerTextのcssのセレクタを知らない。

私は一般的にjQueryライブラリを使用する - 私のようなものをお勧めします:これは最高の動的これを生成するために使用される非常に同じサーバサイド言語によって行われ、あなたは、単にという条件を追加

$(document).ready(function() { 
    $("h2.page-title:contains('Home')").css('display', 'none'); 
} 
+0

私はこのやり方をすることができるとは思わなかった、ありがとう! – CuriousMind

+0

他のほとんどの返信は正しいです、それを行う正しい方法は、サーバー側のコードになります。この方法はかなり汚いですが、CMSのフレームワークを快適に編集していない人にとっては、この作業を完了させることになります。 – kmfk

+0

kmfk - はい、正しいです。でも、私はすべての返事を読むのと同じ大騒ぎになった。 – CuriousMind

1

をページが「ホーム」の場合は何も出力されません。

これはオプションではない場合、私はメルの方法として、単に動作し、javascriptの必要はないことをお勧めします。

また、Melのコードは、隠したいh2の上にある必要があり、<style></style>タグにラップすると思います。

関連する問題