2016-10-17 11 views
8

私はAureliaプロジェクトを作成しています。自分のビューにカスタム要素を使用しています。私はそれが彼らが住んでいる範囲のためにカスタム要素を使用する方が良い習慣であることを読んだが、私はそれらを適切にスタイルする方法について疑問がある。HTML5のスタイルカスタム要素

たとえば、カスタム要素を塗りつぶす背景色を取得するには、display:blockにする必要があります。これはたくさんの要素に対して行う必要があります。

div { 
 
    background-color:green; 
 
} 
 

 
div:first-child customelement { 
 
    display:block; 
 
} 
 

 
customelement { 
 
    background-color:blue; 
 
}
<div> 
 
    <customelement> 
 
    <h1>test</h1> 
 
    </customelement> 
 
</div> 
 

 
<div> 
 
    <customelement> 
 
    <h1>test</h1> 
 
    </customelement> 
 
</div>

すべてのカスタム要素のために、これが一般的なようにする簡単な方法はありますか?おそらく、存在しないHTML5要素をすべて対象とするSCSSメソッドですか?

+1

存在しないHTML5要素に同じクラスを追加しますか? – Alexis

+0

@Alexis「手作業ですべてをやっている」というのは、私が偶然の不一致を防ぐためにここで避けようとしていることです。 – Randy

+0

はいわかっています。しかし、ループを使って要素を生成する方が簡単です。時々、要素を1つずつ取るよりも、同じクラスをどこにでも追加する方が簡単です。あなたの要素がどのように生成され、書かれたのか分かりません。解決策になる可能性があります。 – Alexis

答えて

7

デフォルトでHTMLカスタム要素は、spanに似たundefined elementと定義されています。ブラウザでこれまでに見たことがないundefined elementのように、デフォルトのユーザエージェントスタイリングはなく、継承された値が与えられ、ユーザエージェントスタイルシートがそれによってオーバーライドするときを除いて、すべての要素のデフォルトであるinline要素と見なされますW3Cが推奨するデフォルトに準拠しています。

あなたの唯一の選択肢は、実際にはCSSスタイルの先頭にあるすべての要素がレベル要素blockとして定義されていることです。

customelement, customelement2 { 
 
    display: block; 
 
} 
 
div { 
 
    background-color:green; 
 
} 
 

 
customelement { 
 
    background-color:blue; 
 
} 
 

 
customelement2 { 
 
    background-color: red; 
 
} 
 
<div> 
 
    <h1>Not Custom 
 
</div> 
 
<div> 
 
    <customelement> 
 
    <h1>Custom Element</h1> 
 
    </customelement> 
 
</div> 
 

 
<div> 
 
    <customelement2> 
 
    <h1>Custom Element 2</h1> 
 
    </customelement2> 
 
</div>

スクリプトがロードされているときは、第三段落に

here (W3C Custom elements)より、具体的にこのラインを読むことができ、img-viewer要素が類似し、未定義の要素として扱われますspan

+0

@Randy私はあなたが読むために参考にしました。ドキュメント全体は、カスタム要素を定義するときに非常に便利です。なぜなら、実際に要素名を書いておくよりも、それ以上のことがあるからです。:) – Stewartside

関連する問題