1

スタイルを別のオブジェクト/クラス/IDから継承するためのトリックを探しています。簡単なトリック: クラスを使用しますが、別のルールのスタイルを指定する別の方法はありますか?

説明すみません..次のようなものを探しています: .st1 {font-size:17pt;} .st2 {-moz/ms/webkit-extends: '.st1';}

実際、私はそれを本当に探しているわけではなく (クラスを使用しているため)、興味があるだけです。

4

3 に答える 3

2

トリックを探すのではなく、次のような CSS 拡張ライブラリを探しています。

彼らはあなたが望むようにそれを行う方法を正確に提供するわけではありませんが、さらに優れた方法を提供します. お気に入り

.st1 {font-size:17pt;} 
.st2 {
    .st1;
}

Web サイトが起動されると、これらのスタイル宣言がコンパイルされ、有効な CSS ドキュメントに最適化されます。

于 2012-04-17T05:45:41.450 に答える
0

CSS の継承は DOM 構造を中継するため、関係する要素が子孫/先祖の関係を持っていない限り、CSS はそのような機能を提供しません。

とにかく、 LessCSSのようなライブラリを使用して、プロパティ値のテンプレートのようなプレースホルダーを実装することで、CSS を動的なスタイルシートに変えることができます。

于 2012-04-17T05:45:15.317 に答える
0

純粋な CSS では、

しかし、私があなたを正しく理解していれば:

  • あなたはクラスXを持っています
  • 次に、クラス Yにクラス Xのすべてに加えて、追加の上書き/新しいコンテンツを持たせたいですか?

JavaScript を試して、クラス Yを持つすべてのオブジェクトを検索し、クラス Xを先頭に追加できると思います

何かのようなもの:

//disclaimer: I haven't tested it
var objs=document.getElementsByTagName('*');//getElementsByClassName, not very crossbrowser

for(var i=0,len=objs.length;i<len;i++){
    var temp=objs[i].className;
    if((" "+temp+" ").indexOf(" classY ")==-1){//spaces are important
        objs[i].className="classX "+temp;
    }
}
于 2012-04-17T06:00:57.350 に答える