HTML:
<p>
<input type="radio" id="SQL:79" name="SQL" value="79" maxlength="300">
<label for="SQL:79">Microsoft SQL Server 2012 Express - 64 bit</label>
</p>
相关CSS:
p {
line-height:23px;
vertical-align:top;
margin:0 0 8px 0;
padding:0;
clear:both
}
input {
margin:0 5px 0 0;
padding:0;
height:23px;
}
input[type="radio"] {
border:none;
background:none;
vertical-align:text-bottom
}
label {
vertical-align:top
}
我的输入和标签是23px高,但<p>
是28px :(
当我从输入中删除vertical-align时,<p>
减少到25px;但仍然不是理想的23px!
我已将输入[type = radio]上的vertical-align从text-bottom更改为plain bottom / top;这使得父p恰好是23px:)
PS:这行代码来自HTML5样板重置,所以要注意!
答案 0 :(得分:1)
将p的行高移至19px或向输入添加margin-bottom:-2px。
p {
line-height:23px;
vertical-align:top;
margin:0 0 8px 0;
padding:0;
clear:both
}
input {
margin:0 5px 0 0;
padding:0;
height:23px;
margin-bottom: -2px;
}
input[type="radio"] {
border: none;
background:none;
vertical-align:text-bottom
}
label {
vertical-align:top
}
答案 1 :(得分:1)
我知道这不能回答你的问题“为什么?”,但是使用firebug我可以通过改变单选按钮的高度来显示你的段落高度为23px。
这是我改变的CSS:
input[type="radio"], input[type="checkbox"] {
box-shadow: 0 0 0;
height: 18px;
margin: 0 5px 0 0 !important;
padding: 0 !important;
}
注意我已将您的height: 23px;
更改为height: 18px
。我无法在网上找到答案,但也许单选按钮本身有一些默认高度。
答案 2 :(得分:0)
使用显示内联作品:
(我在这里使用了内联css)
<p style="display:inline;margin:0 0 0px 0;padding:0;clear:both;">
<input type="radio" value="79" id="SQL:79" name="SQL" maxlength="300" style="display:inline;margin:0 0px 0 0; padding:0; height:19px;border:none; background:none;vertical-align:middle;position:relative;top:-2px;">
<label for="SQL:79" style="display:inline;">Microsoft SQL Server 2012 Express - 64 bit</label>
</p>
希望有所帮助。
答案 3 :(得分:0)
p标签将根据内容大小进行扩展。 如果需要,我们必须指定p标签的高度。
答案 4 :(得分:0)
这是修改过的css(简化:)):
p {
line-height:23px;
vertical-align:top;
margin:0 0 8px 0;
padding:0;
clear:both
}
input {
margin:0;
padding:0;
}
input[type="radio"] {
border: none;
background:none;
}
label {
vertical-align:baseline;
}
答案 5 :(得分:0)
我已将输入[type = radio]上的vertical-align从text-bottom更改为plain bottom / top