2017-02-24 9 views
2

最近、Aureliaでカスタムエレメントを作成し始めました。私たちが確立したルールの1つは、クラス名をカスタム要素に使用する際にクラス名を指定できないということです。Aureliaカスタムエレメントがフレックスコンテナ内で動作しない

カスタム要素自体にはプロパティがないため、多くのスタイルを壊すため、これは私に問題を引き起こしています。

特に、フレックスコンテナに入れたときに破損します。

私は:hostセレクタを使用してカスタム要素のスタイルを設定することができるdevelopers.google.comを読んだことがありますが、これはAureliaの言及が見つかりません。動作させるには苦労しています。

私は問題を示すためにコードを持っていますhere

答えて

1

フレックス項目divにカスタム要素を入れて:

<div class="half-container"> 
    <p>Breaking because of custom element (Flex container is yellow)</p> 
    <div class="flex-container"> 
    <div class="flex-item"></div> 
    <div class="flex-item"></div> 
    <div class="flex-item green">  
     <o-custom-element></o-custom-element> 
    </div> 
    </div> 
</div> 

あなたが:hostを使用したい場合は、カスタム要素のシャドウDOM内部<style>要素にそれを置く必要があります:http://codepen.io/anon/pen/LWYwxK

問題は、あなたがルールを複製する必要がありますし、それがカスタム要素にクラスを追加することよりも悪いことだ...

+0

私はルールを変更するに傾くが、それは私の呼び出しではありません。私たちは大規模なプロジェクトの大きなチームで働いているので、物事を支配するようにそのルールを作りました。私は、ホストセレクタを使って、ホストがシャドードームの中からスタイリングされたデモを作成することができればいいと思っています。それは私たちのために働く解決策になります。 – IOIIOOIO

+0

@ IOIIOOIO私はホストを使って例を追加しました。 – Supersharp

+0

ああ、そんなに簡単です...ありがとう、私はこのようなsomethonigで作業します。私の頭痛の終わりでなければならない! – IOIIOOIO

2

カスタム要素FIをスタイルすることができます要素自体を参照することにより、次のように:

o-custom-element { 
    color: white; 
    background: green; 
    flex-grow: 1; 
} 

私は変化を示すためにあなたのcodepenをフォークしました:http://codepen.io/anon/pen/ZeEdLL

+0

残念なことに私たちのもう1つのルールはできません – IOIIOOIO

+0

ええと、私はいつもこれをコンポーネントに含めます( ':host'もそうでしょうか?)' '必要です。 cssをコンポーネントのビューに追加します。 IMOこれは ':host'自体と同じくらい良いですが、本質的には別の名前です。しかし、なぜ ':ホスト'がAureliaで動作しないのかは面白いです。 – Daniel

+0

ダニエルありがとう、私はそれを考えなかった。私はそれが間違っていたかもしれない。 ':host'を動作させることができない場合は、' 'メソッドを試してみます。事は私たち全員のチームがカスタム要素の新しさですので、私たちは一緒に勉強しています。したがって、Joe Soapが新しい実装アイデアを持っているたびに、コントロールから外れないように注意する必要があります。 – IOIIOOIO

関連する問題