ドキュメントでは、テンプレートを使用し{{> loginButtons}}
てデフォルトのログインボタンを実装するように指定しています。
これに自分のスタイルを適用するための最良の方法は何ですか?
- 新しいテンプレートを書き直します(これはどのように行われますか?)
- マークされたCSSファイルにスタイルを追加する
!important
- 他の?
ドキュメントでは、テンプレートを使用し{{> loginButtons}}
てデフォルトのログインボタンを実装するように指定しています。
これに自分のスタイルを適用するための最良の方法は何ですか?
!important
2つのアイデアを組み合わせて使用できることがわかりました。account-uiパッケージを詳しく調べたところ、.less
ファイルが1つだけ含まれていることがわかりました。実際のテンプレートはaccounts-ui-unstyledに含まれ、プロジェクトaccounts-ui
に追加されると自動的に含まれます。meteor
したがって、CSSは次のように削除できます。
meteor remove accounts-ui
meteor add accounts-ui-unstyled
次に、生のHTMLが残ります。これは、選択したスタイルにすることができます。
独自のテンプレートを作成すると、間違いなくより詳細に制御できるようになります。
「template」タグを使用してテンプレートを作成します。
<template name="player">
<div class="player {{selected}}">
<span class="name">{{name}}</span>
<span class="score">{{score}}</span>
<span class="wins"> {{wins}} </span>
<span class="losses"> {{loss}} </span>
</div>
</template>
または、Chromeの「InspectElement」を使用して、ログインボタンがウェブページに表示された後の「クラス」または「id」を確認し、それらのクラスをCSSセレクターとして使用してそれに応じてスタイルを設定できます。
例えば:
HTML:
//The login button has a class of loginButton
<button class="loginButton"> Login! </button>
CSS:
#Then you can Have a style for the login button as:
.loginButton{
width: 100px;
background-color: cyan;
}
このスクリーンキャストをチェックアウトするEventedMind-ログインのカスタマイズ
以下のような独自のhtml
テンプレートを作成します。お好みに合わせてスタイリングしてください。
meteor add accounts-password accounts-ui
<template name="login">
<form class="login-form">
<div class="panel panel-default">
<div class="panel-heading">
<h3>Login</h3>
</div>
<div class="panel-body">
<div class="form-group">
<label>Email</label>
<input type="email" class="form-control" id="email" placeholder="Email address">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" class="form-control" id="password" placeholder="password">
</div>
</div>
<div class="panel-footer">
<button type="submit" class="btn btn-danger btn-lg">Login</button>
</div>
</div>
</form>
</template>
Meteor.loginWithPassword
これで、次のようにテンプレートイベントを呼び出すことができます。
Template.login.events({
'submit .login-form': function(e) {
e.preventDefault();
var email = e.target.email.value;
var password = e.target.password.value;
Meteor.loginWithPassword(email, password,function(error){
if(error) {
//do something if error occurred or
}else{
FlowRouter.go('/');
}
});
}
});
登録用に別のフォームを作成することもできます。
電話するだけAccounts.createUser(object, callback);