CSS和HTML中的复选框问题

时间:2013-11-21 22:12:00

标签: html css django

我正在Django中创建一个复选框,但是我看到当我渲染复选框时弹出一个很好的复选框,这很好,但也有一个传统的复选框。我的CSS如下:

input[type=checkbox]:before { display:inline-block; content:""; width:20px; height:20px; background:red; border:solid 3px #e2e2e2; margin:0px;}
input[type=checkbox]:checked:before { display:inline-block; background:green; width:20px; height:20px; border:solid 3px #e2e2e2; margin:0px;}​

我知道这不是一个真正的Django问题 - 我正在创建自己的渲染功能,所以我可以用任何格式吐出HTML,但我不知道为什么我会得到两个功能正常的文本框。这是我的每个选项的Django渲染。这是从CheckBoxWidget上的渲染函数中获取和改编的 - 即。我想使用一些格式,因此我用不同的渲染函数创建了自己的函数。

for i, (option_value, option_label) in enumerate(chain(self.choices, choices)):
            # If an ID attribute was given, add a numeric index as a suffix,
            # so that the checkboxes don't all have the same ID attribute.
            if has_id:
                final_attrs = dict(final_attrs, id='%s_%s' % (attrs['id'], i))
                label_for = format_html(' for="{0}"', final_attrs['id'])
            else:
                label_for = ''

            cb = CheckboxInput(final_attrs, check_test=lambda value: value in str_values)
            option_value = force_text(option_value)
            rendered_cb = cb.render(name, option_value)
            option_label = force_text(option_label)
            r = i % 2
            if len(option_label) > 40:
            option_label = force_text(option_label).split('[')[0]
        if len(option_label) > 40:
            option_label = force_text(option_label)[0:40]

            output.append(format_html(row_label[r]+'<li class="option table"> <label {0} > <div class="cell" id="left"> <div class="icon profile" data-icon-name="profile"> </div> </div> <div class="cell" id="center">{2}</div><div class="cell" id="right"><div class="styled-check"><div class="check"></div>{1}</label></div></div></li></div>',
                                      label_for, rendered_cb, option_label))
        output.append('')

0 个答案:

没有答案