CSS宽度不正确/对我没有意义

时间:2017-02-19 20:38:15

标签: html css height width

我有一个宽度为60%的内容部分。在上面我得到了一个宽度为40%的文本输入。在该输入字段旁边,有一个提交按钮。 所以根据我的数学知识,输入字段和内容部分应该具有相同的宽度。 | _________ 40%_________ || ____ 20%____ |
| _______________ 60%________________ |
但事实并非如此 HTML:

<input id="plannername" placeholder="Name eingeben" type="text"></input><!--

--><input id="plannersubmit" type="submit" value="eintragen"></input>

<div id="content"></div>

CSS:

#plannername{ /* The text input */
  width:40%;
  background-color:#9eefbc;
  margin-left:20%;
  border:0;
  font-size:2em;
  padding:20px;
}
#plannersubmit{ /* The submit button */
  width:20%;
  background-color:#6dce91;
  border:0;
  font-size:2em;
  padding:20px;
  transition:.2s ease-in-out;
}
#content{
  width:60%;
  background-color:#9eefbc;
  height:500px;
  margin-left:20%;
  padding-top:70px;
  margin-top:3px;
}

我的完整代码在这里:http://codepen.io/tobiasglaus/pen/xgBeaJ

2 个答案:

答案 0 :(得分:1)

您已在输入框中设置padding,使其成为总宽度的一部分,您可以设置box-sizing: border-box;或只是普遍地执行此操作:

* {
  box-sizing: border-box;
}

包括伪元素的常见做法是:

html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}

请注意,即使您没有手动设置任何输入元素,也会从浏览器设置一些默认的填充和边框设置。上述解决方案仍然适用。

答案 1 :(得分:1)

您需要使用box-sizing: border-box来填充填充。尝试添加以下内容:

* {
  box-sizing: border-box;
}

或者您可以根据需要将其添加到个人div