dポイントプレゼントキャンペーン実施中!

CSSセレクタについてお伺いします。
あるショッピングカートサイトを使っているのですが、このサイトはhtmlは編集できずCSSしか編集できないページがあります。
このページのデザインをなんとか編集したいと奮闘しています。

そのサイトのhtmlは不親切にもidやclassがほとんど記述されていません。
そのため:nth-child(n)などを使ってなんとか要素を編集できそうでした。

しかしfirefoxやchrome、operaはこの:nth-child(n)が機能するのですが
IE9では機能しません。
IE9ではhtmlの宣言を<!DOCTYPE html>と記述しないとCSS3
は使えないのでしょうか?

CSS側だけでなんとかclassなどの指定がない要素を取得する方法はないでしょうか?
よろしくお願いいたします。

A 回答 (2件)

兄弟セレクタを使いましょう。


>そのサイトのhtmlは不親切にもidやclassがほとんど記述されていません。
 そもそもデザインのためにidやclassを書くものではありません。『id属性及び class属性と併用することで、文書に構造を付加するため ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』のものですよ。とても多くのサイトで、idやclass名を使ったセレクタが書かれていますが、それはプロパティの説明のためで、本来はリンクやjavascriptのターゲット以外idは書く必要ありませんし、class名も文書構造をわかりやすくするため以外には必要ないはずです。
 :nth-child(n)は使えなくても、
1) 兄弟セレクタは使えるはずです。
2) 属性セレクタも使えるはずです

 私は、デザインのためにidやclass名が必要と感じたことはありません。
円形の配置にするコーディングについて - Webデザイン・CSS - 教えて!goo ( http://oshiete.goo.ne.jp/qa/7649067.html ) IE8でもOKなはず。
 で示したHTML/CSSは、文書構造を示すためにclass名やidが使われていますが、デザインではセレクタで文書構造を元に適用する要素を指定していますが、直接class名やidで指定していないのがわかるのではないかと・・

 文法的に間違っていない--DOMツリーがきちんと生成的ないページでない限り、CSS2.1の範囲内で要素は指定できるはずです。
    • good
    • 0
この回答へのお礼

お世話になります。ご回答頂きましてありがとうございました。
兄弟セレクタ、属性セレクタは使えました。

リンク先の件を読みました。
idやclassは最小限で文章構造を示すために記述すべきなのですね。
今まではそういう意識はしていませんでした。
アドバイスありがとうございました。

お礼日時:2012/09/02 11:33

対応していない機能についてはドキュメントタイプを変えてもどうにもなりません。


<!DOCTYPE html>はHTML5のやつでCSSとは関係ないです。


無名divの山なんでしょうか。
私も昔そういうカートのカスタムをしてうんざりした覚えが…どこだったか思い出せないんですが
セレクタの対応状況が見れるサイトを参考URLにリンクするので、それを見ながらなんとかがんばってみてください。

参考URL:http://www.quirksmode.org/css/contents.html
    • good
    • 0
この回答へのお礼

ご回答頂きましてありがとうございました。
そうです、無名divが大量にあります・・・。
セレクタの一覧ページ、参考になります!

お礼日時:2012/09/02 11:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!