2016-12-23 14 views
0

どのようにWebコンポーネントで次のターゲットを設定できますか? (ShadomDom V1 &カスタム要素V1)以下でWebコンポーネント:子どもの隣接兄弟セレクタ

pagination-item + pagination-item { 
    margin-right: 10px; 
} 

...

<pagination> 
    <pagination-item></pagination-item> 
    <pagination-item></pagination-item> 
</pagination> 

私は改ページ要素のスタイルの中に置く場合、それは動作しません。私が:host + :hostをページ区切り項目の中に入れた場合、それは機能しません。

どのようにハッキングなしでこれを達成できますか? これは合成可能性に大きな問題があるようには見えません...

+0

あなたが記述したものと同じ問題がありますか?[this](http://stackoverflow.com/questions/38992081/using-host-context-with-an-adjacent-sibling-selector)もしそうなら、あなたの最後の陳述に同意します。 – BoltClock

答えて

1

デフォルトでは動作するはずです(マージン-になりますか?)。

(それはまた、シャドウDOMの場合)あなたはコンテナに:not(:first-child)を使用することができない場合:

::slotted(pagination-item:not(:first-child)) { 
    margin-right: 10px; 
} 

それとも<position-item>要素でそれを使用することができます。

:host(:not(:first-child)) { 
    margin-right: 10px; 
} 

注釈::slottedのセレクタは、performance concernsのためのカスケードセレクタに制限されています:任意のセレクタをとることができる

::contentが、::slottedのみ(括弧内)の化合物の選択を取ることができます。この制限の理由は、パフォーマンスの点でセレクタスタイルエンジンをフレンドリにすることです。 v0では、シャドウ境界を横切る任意のセレクタによるパフォーマンスの低下を回避することは困難です。

+0

私はそれもうまくいくと思います。なぜマージン右か:継承? – BoltClock

+0

@BoltClockなので...分かりません! - >削除 – Supersharp

関連する問題