2017-09-23 2 views
-1

私は得たデザインに基づいて紙入力をスタイルしようとしています。私はhereと記載されているカスタム所有権のいくつかを使用しましたが、それらのすべてが機能するわけではありません。特定のミックスイン(ポリマー2)で紙入力をスタイルする方法は?

私は--paper入力-コンテナラベルと--paper入力-コンテナ入力フォーカスを使用して問題を抱えています。

多分私はそれらを間違った方法で使用しようとするか、いくつかの余分なステップが必要になることがあります。

は、ここで私はあなたがあなたを助けるために困難であるので、期待しているが、私は確信している一つのことは、それはあなたのスタイルタグがとても厄介ですだ結果何かわからない私のコード

<link rel="import" href="../polymer/polymer-element.html"> 
<link rel="import" href="../paper-input/paper-input.html"> 
<link rel="import" href="../paper-input/paper-input-container.html"> 
<link rel="import" href="../iron-icons/iron-icons.html"> 
<link rel="import" href="../iron-icon/iron-icon.html"> 

<dom-module id="first-element"> 
    <template> 
    <style> 
     paper-input { 
     --paper-input-container-color: rgb(64, 64, 64); 
     --paper-input-container-focus-color: rgb(64, 64, 64); 

     --paper-input-container: { 
      border: none; 
      padding: 0px; 
     } 


     --paper-font-subhead: { 
      font-size: 100%; 
     } 

     --paper-input-container-underline-focus: { 
      display: none; 
     } 

     --paper-input-container-underline: { 
      display: none; 
     } 

     --paper-input-container-input: { 
      height: 24px; 
      line-height: 20px; 
      padding: 0 4px; 
      border: 1px solid rgb(194, 198, 199); 
     } 

     --paper-input-container-input-focus: { 
      border-color:red; 
     } 

     --paper-input-container-label { 
      font-weight: bold; 
     }  

     --paper-input-container-invalid-color: red; 
     } 

     :host { 
     display: block; 
     } 
    </style> 

    <paper-input always-float-label label="Floating label"></paper-input> 
    <paper-input label="username"> 
     <iron-icon icon="icons:accessible" slot="prefix"></iron-icon> 
     <div slot="suffix">@email.com</div> 
    </paper-input> 


    </template> 

    <script> 
    class FirstElement extends Polymer.Element { 
     static get is() { return 'first-element'; } 
     static get properties() { 
     return { 
      prop1: { 
      type: String, 
      value: 'first-element' 
      } 
     }; 
     } 
    } 

    window.customElements.define(FirstElement.is, FirstElement); 
    </script> 
</dom-module> 
+0

*正確な*問題はありますか? – juzraai

+0

DOMを間違って構築しましたか?色を目立たせるように変更しましたが、http://plnkr.co/edit/TMeXa7sIyzystv8RI5wb?p=preview – Thad

答えて

1

です。 mixinsの後にセミコロンを書く必要があります。なぜなら、それらはcssプロパティのようなもので、すべてのcssプロパティはセミコロンで区切られているからです。
は、そのようなあなたのコードを試してみてください。

<style> 
    :host { 
    display: block; 
    } 

    paper-input { 
    --paper-input-container-color: rgb(64, 64, 64); 
    --paper-input-container-focus-color: rgb(64, 64, 64); 

    --paper-input-container: { 
     border: none; 
     padding: 0px; 
    }; 

    --paper-font-subhead: { 
     font-size: 100%; 
    }; 

    --paper-input-container-underline-focus: { 
     display: none; 
    }; 

    --paper-input-container-underline: { 
     display: none; 
    }; 

    --paper-input-container-input: { 
     height: 24px; 
     line-height: 20px; 
     padding: 0 4px; 
     border: 1px solid rgb(194, 198, 199); 
    }; 

    --paper-input-container-input-focus: { 
     border-color: red; 
    }; 

    --paper-input-container-label: { 
     font-weight: bold; 
    }; 

    --paper-input-container-invalid-color: red; 
    } 
</style> 

もう一つは、あなたが焦点上の入力の境界線の色のスタイルをしようとしているだけでなく、あなたが意味を成さないdisplaynoneに設定されています。 display: noneを削除し、色のスタイルを設定する場合は、border-color: red;--paper-input-container-underline-focusを追加する必要があります。

+0

Thxの返信を参照してください。私は入力html要素のスタイルを設定しようとしていますが、下線はこの場合私を助けず、入力を妨げません。 私は財産の最後にセミコロンを持っていましたが、私が使用しているエディタ(Visual Studio Code)はそれらをエラーとしてフラグを立てました。 – sirbushir

+0

@sirbushir私はVSコードでこの問題が発生したことを思い出していないので、いくつかのlintingやhtmlパーサのようなオプションを無効にしてみてください。おそらく、この構文が実際にw3c標準の一部ではないためエラーとして表示されます。また、入力用紙のデザインに満足できない場合は、その内部動作を混乱させないようにしてください。独自のカスタム要素を作成し、十分に満足する必要があります。 – user544262772

+0

@ sirbushir のDOMが間違っています。 https://www.webcomponents.org/element/PolymerElements/paper-input/elements/paper-input-containerと私のPlunker(元の投稿へのコメントにリンク)を参照してください。セミコロンについては、私は彼らが「必須」と信じていますが、私は彼らが結果に差をつけるとは見ません。 – Thad

関連する問題