HTML,CSS:输入框在可视区域之外

时间:2014-10-04 14:48:57

标签: html css

我有一些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相同?请问解决方案背后的直觉是什么?

3 个答案:

答案 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
}

DEMO

答案 1 :(得分:1)

这里是小提琴

问题是width100%paddingxx px所以它来100% + xxpx就是因为它超过了100% < / p>

Js Fiddle

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响应式网页设计和屏幕宽度示例:)