html – 对齐复选框和标签

前端之家收集整理的这篇文章主要介绍了html – 对齐复选框和标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个代码如下所示的表单:

并使用以下CSS设置样式:

body {
color: #333;
font: 12px Arial,Helvetica Neue,Helvetica,sans-serif;
}

#right_sidebar {
padding-top: 12px;
width: 190px;
position:relative;
}

form {
background: #EEF4F7;
border: solid red;
border-width: 1px 0;
display: block;
margin-top: 10px;
padding: 10px;
}

form label {
color: #435E66;
    display:block;
font-size: 12px;
    }

form textarea {
border: 1px solid #ABBBBE;
margin-bottom: 10px;
padding: 4px 3px;
width: 160px;
-moz-border-radius: 3px;
border-radius: 3px;
}
form label a {
display: block;
padding-left: 10px;
position: relative;
text-decoration: underline;
}


form label a .sp {
background: #EEF4F7;
height: 0;
left: 0;
position: absolute;
top: 2px;
width: 0;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
border-left: 4px solid #333;
}

form button.blue_button {
margin-top: 10px;
vertical-align: top;
}

button.blue_button{
color: white;
font-size: 12px;
height: 22px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
button.blue_button {
background-color: #76C8C6;
border: 1px solid #7798B7;
text-shadow: 1px 1px 0px #567C9E;
}

如您所见,复选框位于标签顶部.我希望两者“在同一条线上”.所以,它看起来像“[]接受条款”.如何使文本垂直对齐复选框.

我怎么能两个都做?

你可以在这里看到它:form,checkbox failing

最佳答案
一个选项是修改复选框后面的label元素的样式:

​input[type=checkBox] + label {
    display: inline-block;
    margin-left: 0.5em;
    margin-right: 2em;
    line-height: 1em;
}

JS Fiddle demo.

然而,这有点脆弱,因为边距有点任意(并且边距右边纯粹是强制下一个按钮到下一行).此外,属性等于选择器可能会导致旧浏览器出现问题.

正如Alien先生在评论中暗示的那样,使用此选择符表示法实际上更容易定位复选框本身:

input[type=checkBox] {
    float: left;
    margin-right: 0.4em;
}

JS Fiddle demo.

猜你在找的HTML相关文章