【问题标题】:Left-Align Custom Checkbox and Center Text Inside Div (Input + Div)左对齐自定义复选框并在 Div 内居中文本(输入 + div)
【发布时间】:2014-10-04 22:38:06
【问题描述】:

提前感谢您的帮助。

所以我有自定义复选框输入。当您单击标签或输入时,div 的边框和标签文本会更改颜色,并出现检查。

唯一的问题是,我需要检查左对齐,而文本保持居中,无论复选框状态如何(当前当复选框被选中时,标签会跳到右侧)。知道如何将复选框放在左侧并保持文本居中且静止吗?

这是我的代码:

CSS:

div.label {
border:solid 1px gray;
line-height:40px;
height:40px;
width: 250px;
border-radius:40px;
-webkit-font-smoothing: antialiased; 
margin-top:10px;
font-family:Arial,Helvetica,sans-serif;
color:gray;
text-align:center;
}

label {
display:inline;
text-align:center;
}

input[type=checkbox] {
display: none;
}

input:checked + div {
border: solid 1px red;
color: #F00;
}

input:checked + div:before {
content: "\2713";
}

HTML:

<input id="lists[Travel]" type="checkbox" name="lists[Travel]" />
<div class="label">
<label for="lists[Travel]">Travel</label><br>
</div> 

【问题讨论】:

    标签: css checkbox


    【解决方案1】:

    将绝对位置添加到 input:checked + div:before ... 像这样:

    input:checked + div:before {
    content: "\2713";
    position: absolute;
    margin-left: -50px;
    }
    

    【讨论】:

    • 是否可以在 input:checked + div:before 上设置一个类?基本上我有两列输入,两列的复选框都出现在同一个位置。
    • 我最终将右列中的 div 更改为跨度,并定义了跨度和输入状态。效果很好,但如果有更好的方法,我很乐意学习!
    猜你喜欢
    • 2016-02-13
    • 1970-01-01
    • 2012-03-26
    • 2015-10-02
    • 2015-02-22
    • 2013-05-22
    • 1970-01-01
    • 2011-10-20
    • 2010-11-08
    相关资源
    最近更新 更多