私のアプリケーション用のフォームを作成する際に、私はカスタムチェックボックスを作成する必要がありました(私はCSSではひどいので、これは簡単ではありませんでした)。私はそれが動作するようになったと私は手動でフォームを作成するときには、次のようになります。シンプルなフォームを使ってチェックボックスのスタイルを変更することはできません
マニュアルhtml
が
<div class="checkbox icheck-primary">
{{ form.active }}
<label for="id_active">Active</label>
</div>
しかし、それが表示さクリスピーフォームField
にwrapper_class
属性を使用しています標準として:
そしてcrispy forms
コード:
self.helper.layout = Layout(
Fieldset(
'Add Contact',
'first_name',
Field('active', wrapper_class='icheck-primary', css_class='icheck-primary')
))
私は、カスタムDiv
テンプレートを使用してみましたが、私はそれを動作させることができませんでした。私が見つけることができるすべての文書ではwrapper_class
でした。
私は何か単純なものがないか、誰かが正しい方向に向いていますか?
[編集] crispy_forms
から HTML
出力:
<div id="div_id_active" class="checkbox icheck-primary">
<label for="id_active" class="">
<input name="active" class="checkboxinput" id="id_active" checked="" type="checkbox">
Active
</label>
</div>
そして、ここに私の取扱説明書/フォームこれはcss selectors
html
<div class="checkbox icheck-primary">
<input name="stay_logged_in" class="checkbox icheck-primary" id="id_stay_logged_in" type="checkbox">
<label for="id_stay_logged_in">Remember me</label>
</div>
を発生させます
.radio > input[type="radio"]:first-child:checked + label::before,
.checkbox > input[type="checkbox"]:first-child:checked + label::before,
.radio > input[type="radio"]:first-child:checked + input[type="hidden"] + label::before,
.checkbox > input[type="checkbox"]:first-child:checked + input[type="hidden"] + label::before {
content: "\e013";
display: inline-block;
font-family: 'Glyphicons Halflings';
font-weight: normal;
font-size: 10px;
color: #b4aba1;
position: absolute;
width: 22px;
height: 22px;
line-height: 20px;
border: 2px solid #b4aba1;
border-radius: 0 !important;
background-color: #0060a1 !important;
text-align: center;
margin-left: -29px;
vertical-align: text-top;
}
htmlとcssを提供できますか、ありがとうございます。 – sol
質問を更新しました、ありがとうございます! –
鮮明に生成されるHTMLとは何ですか? CSSの外観はどうですか?インスペクタを使ってみましたか? CSSセレクタが入力と一致していないようです。 – dirn