- ベストアンサー
cssのcontentプロパティについて
カスケードスタイルシートのcontentプロパティに相当する、IEでの設定方法について、ご存知の方教えていただけないでしょうか。 Webページ作成時、各ページに決まり切った文字列を<body>中に表示させる場合に、適当なclassを定義しておけば手軽に使えると考えたものですから。 JavaScriptは、いろいろと差し障りがあって使いたくないもので、cssで処理しようと思っています。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
表示させたい文字列が其のHTML文書に必要なものであればHTMLに直接書き込んでください。飾りなど、特になくても“支障がない”場合にのみ、CSSやJavaScriptで表示させて差し支えありません。 HTMLは見出しや段落、参照や引用といった文書構造をマークアップする言語です。 CSSはレイアウトなどの感覚的表現を指定する言語です。飽く迄付加的なものであって、必ずしも指定したCSSが使われるとは限りません。 HTMLとCSSは、それぞれ担当が異なるので、単純に置き換えることは出来ません。 同じことを書くのが面倒なだけであれば、予めテンプレートを作っておけば良いでしょう。 なお、contentプロパティ並びにbefore・after疑似要素は、遺憾なことに近々リリースされるであろうIE7でも実装されません。個人的には有用なものなのですが……。一番シェアのあるブラウザのCSS実装が他と比べて糞なのには困ったものです。
その他の回答 (5)
No4で満足できないならxml+xslじゃない?CGIはローカルテストできないので除外だとしても。 content自体が(略) 文字を挟み込むには他にはもうあなたの絶対使いたくないjavascriptしか残ってない。第一javascriptで差し障りが有って使いたくないのにIEというそもそも標準仕様に差し障りを(略)。 できないものはできない。みんな歯がゆい思いをしながらhtmlに直接入れたりしてきた。 嫌なら実装された機能を持つブラウザ、具体的にはIE7が定着するまであきらめるべき。無理でしょ?そんなの。
お礼
ありがとうございます。 良く分かりました。
>長い記述を繰り返し記述することになりますよね cssのなんたるかがまだ良く判ってないの? これは単に1個に直接styleを書き込んでるだけ。 headで定義かまたは外部ファイルにすればidまたはclass名を書くだけになる。 判ってなかったようだから書いておくね htmlへの外部css読み込み方法やheadで定義する方法は省略するとして -------style .NewMark { padding-left:30px; background:url(/images/new.gif) no-repeat left center; } -------html <span class="NewMark">新着1</span> <span class="NewMark">新着2</span>
お礼
例文までお手間をお掛けし恐縮です。質問の趣旨は、contentプロパティに関するもので、コンテンツとしては、文字列を考えています。ご教示のケースは、contentプロパティで、画像をコンテンツとする場合に類似の方法だと思います。ご教示のコードでは、"新着1"や"新着2"という文字列までを含めて、手短く表示することはできないのではないでしょうか。もっとも、文字列を画像として表示する方法については、検討済みです。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#2>質問の仕方が悪かったのでしょうか、ご回答の内容は知った上での質問でした。 #2は、類するものもないということです。 (IEでの)CSSではできません。
お礼
質問が悪くて、重ねて失礼しました。CSSの代替手段として、何か良い方法はないかと考えていましたので。つまるところは、定型のHTMLドキュメントを出力するプログラムを作ってしまえば良いと、いうのが現在の結論になりそうです。お騒がせをいたしました。ありがとうございました。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
IEでCSSのcontent に相当するものはありません http://msdn.microsoft.com/library/default.asp?url=/workshop/author/css/reference/attributes.asp
お礼
ありがとうございます。質問の仕方が悪かったのでしょうか、ご回答の内容は知った上での質問でした。
こんなのは? <span style="padding-left:30px;background:url(/images/new.gif) no-repeat left center;">新着情報</span>
お礼
ありがとうございます。これでは、ご回答にある長い記述を繰り返し記述することになりますよね。勿論、目下は自作のテンプレートを使っていますが、そのレベルと差異のない方法ではないでしょうか。
お礼
ありがとうございます。 そうですか、IE7でも実装されないのですか。