下記のPolymer v2 Webコンポーネントがあります。メインページには、n-action-button
というスタイルを定義するCSSファイルが含まれています。 FireFoxやIEでメインページを開くと、スタイルはWebコンポーネントに適用されますが、Chromeで同じ操作を行うと、Webコンポーネントのコンテンツはスタイルされません。クロムのポリマー2ウェブコンポーネントにCSSが適用されていません
アプリケーションがPolymer v1ライブラリを使用しているときは、すべて正常に動作していました。私がPolymer v2にアップグレードしたときに変更されました。私はネット上のドキュメントで、外部定義されたスタイルをWebコンポーネントに適用する必要があると読んでいます。なぜ私はそれがGoogle Chromeブラウザで動作していないのか分かりません。
<link rel="import" href="../polymer/polymer-element.html">
<dom-module id="login-form">
<template>
<h1>
Use your username & password to sign in.
</h1>
<form id="form" method="post" action="j_security_check">
<input id="username" name="j_username" type="text" placeholder="username"/>
<input type="submit" id="submit" value="Log In" class="n-action-button">
</form>
</template>
<script>
class LoginForm extends Polymer.Element {
static get is() { return 'login-form'; }
}
window.customElements.define(LoginForm.is, LoginForm);
</script>
</dom-module>
編集:スタイルは、次のようになります。
.n-action-button,
.n-action-button:hover,
.n-action-button:focus,
.n-action-button:active,
.n-action-button:visited,
.n-action-button[disabled],
.z-button.n-action-button,
.z-button.n-action-button:hover,
.z-button.n-action-button:focus,
.z-button.n-action-button:active,
.z-button.n-action-button:visited,
.z-button.n-action-button[disabled] {
display: inline-block;
color: #fff;
text-shadow: none;
text-decoration: none;
padding: 15px 30px;
line-height: 22px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
border: 0;
-webkit-transition: color .25s, background .25s;
-moz-transition: color .25s, background .25s;
-o-transition: color .25s, background .25s;
transition: color .25s, background .25s;
}
.n-action-button,
.n-action-button:visited,
.z-button.n-action-button,
.z-button.n-action-button:visited {
background: #49b87b;
}
.n-action-button:hover,
.n-action-button:focus,
.n-action-button:active,
.z-button.n-action-button:hover,
.z-button.n-action-button:focus,
.z-button.n-action-button:active {
color: #fff;
background: #4bbe7f;
}
.n-action-button[disabled],
.z-button.n-action-button[disabled],
.z-button.n-action-button[disabled]:hover,
.z-button.n-action-button[disabled]:focus,
.z-button.n-action-button[disabled]:active {
color: #fff;
background: #b1b1b1;
}
どのようにそのスタイルを定義しますか?/deep /などのサポートは廃止されました(AFAIKが削除されたか、またはChromeから削除されようとしています)。はい、それはスタイリングの痛みですが、変数を使用してください。 –
@AdrianoRepetti自分の編集を参照してください。私はダブルチェックしました/私は/深い/どこにでも使用していない – Lukasz
少なくとも、私が知る限り、それは動作しません。 Webコンポーネントの1つのポイントは、いくつかのグローバルなCSSスタイルまたは矛盾する宣言でそれらを分解しないことです。コンポーネントをスタイルする方法はほとんどありません。ライブラリでなければ、どこでも継承している共有スタイルコンポーネントにスタイリングを置くことができます。 –