我有一些div和输入框。当我调整窗口大小时,div会适当调整,但输入会被剪裁。如何在最大宽度为400px时将输入调整为屏幕大小?以下是两个州的屏幕截图:Looks good。但是当页面缩小时,div会响应the input gets cut but the divs are good。
以下是我设置输入的方式
.text-input {
display: block;
width: 100%;
font-family: sans-serif;
font-size: 1em;
appearance: none;
border-radius: none;
padding: 0.5em;
border: solid 1px #fff;
box-shadow: inset 1px 1px 2px 1px #707070;
transition: box-shadow 0.3s;
max-width: 400px;
display: inline-block;
}
.text-input:focus,
.text-input.focus {
outline: none;
box-shadow: inset 1px 1px 2px 1px #c9c9c9;
}
我的问题是,我应该如何设置输入样式以使其行为与div相同?请问解决方案背后的直觉是什么?
答案 0 :(得分:1)
您可以将input
放在div
内,将input
设为width:100%;
。
<强> HTML 强>
<div>
<input type="text" />
</div>
<强> CSS 强>
input[type=text] {
width: 100%;
max-width: 400px;
box-sizing: border-box;
}
div {
border: solid 1px red
}
答案 1 :(得分:1)
这里是小提琴
问题是width
是100%
而padding
是xx px
所以它来100% + xxpx
就是因为它超过了100%
< / p>
box-sizing:border-box;
此属性提供填充,内部边框不允许宽度超过100%
答案 2 :(得分:0)
只需从代码中删除max-width即可。用100%替换它。 如果您想要更具网络响应性,可以定义更多的定义,每个定义用于不同的窗口大小,如下所示:
@media screen and (max-width:720px) { width: 90%; }
@media screen and (min-width:720px) { width: 100%; }
Google响应式网页设计和屏幕宽度示例:)