html中加一个框与底部平齐,html - 在CSS中将文本和选择框对齐到相同的宽度?

好吧,这似乎是不可能的。 我有一个文本框和一个选择框。 我希望它们的宽度完全相同,因此它们在左边距和右边距上排列。

input, select {

width: 200px;

}

123

那就是你想的,对吗? 不。 Firefox中的选择框缩短了6个像素。 见截图。

99b0c18fa72f0e308b141d7d40b0e28a.png

好吧,让我们编辑代码并制作两种样式。

input {

width: 200px;

}

select {

width: 206px;

}

好的,有效!

ij6Sv.png

哦等等,在Chrome中更好的测试......

fe71a74619df9335434253e7979c8d80.png

fca34b5b2fed08b4b48a5bde5bb84503.png

有人能告诉我如何在所有浏览器中排列这些内容吗? 为什么我不能只做宽度:200px,为什么所有的浏览器都以不同的方式显示它? 另外,当我们处理它时,为什么文本框和选择框的高度不同? 我们如何让它们达到同样的高度? 尝试过高度和线高并没有用。

解:

好的,我已经从下面的答案中找到了解决方案。 关键是使用box-sizing:border-box属性,以便在指定包含边框和填充的宽度时使用。 在这里看到很好的解释 然后浏览器无法填充它。

代码如下,还将框的高度设置为相同的大小,并缩小框内的文本,使其对齐。 你还需要设置边框,因为Chrome有一个非常奇怪的边框,它用于选择框,这会抛出对齐。 这适用于HTML5网站(例如支持IE9,Firefox,Chrome,Safari,Opera等)。

input, select {

width: 200px;

border: 1px solid #000;

padding: 0;

margin: 0;

height: 22px;

-moz-box-sizing: border-box;

-webkit-box-sizing: border-box;

box-sizing: border-box;

}

input {

text-indent: 4px;

}

123

123456789 123123123123

123456789 123123123123 134213721381212

只有最后一个警告,您可能不希望输入按钮,复选框等包含在此样式中,因此请使用input:not([type='button'])不将其应用于某些类型或使用input[type='text'], input[type='password']指定您希望它应用于的样式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值