填充设置为0但仍存在填充

时间:2014-12-22 11:06:25

标签: html css padding

希望你能帮助我。 'form_input_username'在顶部有一个意外的填充。 以下是问题的链接:http://nl.tinypic.com/r/242xw1e/8。 希望你能帮助我!

#input_username_total,
#input_password_total {
  overflow: hidden;
  display: block;
  width: 80%;
  margin-top: 2%;
  display: table;
}
#input_username,
#input_password {
  background: url('../img/blank_input_login.png');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  margin-left: -2px;
  display: table-cell;
}
#input_img {
  width: 16%;
  display: table-cell;
}
#pic_username,
#pic_password {
  width: 100%;
}
#form_input_username,
#form_input_password {
  font-size: 5.5vw;
  font-family: 'Open Sans', sans-serif;
  border: none;
  color: white;
  background: transparent;
  padding-left: 4%;
  padding-right: 2%;
  padding-top: 0px;
  padding-bottom: 0px;
  height: 100%;
  width: 94%;
}
<div id="input_username_total" class="center">
  <div id="input_img">
    <img src="img/username_pic.png" id="pic_username"></img>
  </div>
  <div id="input_username">
    <input type="text" id="form_input_username" placeholder="Username" />
  </div>
</div>

3 个答案:

答案 0 :(得分:1)

您使用display: table-cell并排设置元素。

如果您想要“居中”文字输入,请参阅vertical-align

#input_username, #input_password {vertical-align: middle}

http://jsfiddle.net/11z1rbs7/1/

但我认为更好的解决方案是使用float: left;代替display: table-cell,元素将以另一种方式对齐,我认为您的问题会更少。

答案 1 :(得分:1)

您只需将vertical-align添加到包含div中,如下所示:

#input_username_total,
#input_password_total {
  overflow: hidden;
  display: block;
  width: 80%;
  margin-top: 2%;
  display: table;
}
#input_username,
#input_password {
  background: url('../img/blank_input_login.png');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  margin-left: -2px;
  display: table-cell;
  vertical-align: middle;
}
#input_img {
  width: 16%;
  display: table-cell;
}
#pic_username,
#pic_password {
  width: 100%;
}
#form_input_username,
#form_input_password {
  font-size: 5.5vw;
  font-family: 'Open Sans', sans-serif;
  border: none;
  color: white;
  background: transparent;
  padding-left: 4%;
  padding-right: 2%;
  padding-top: 0px;
  padding-bottom: 0px;
  height: 100%;
  width: 94%;
}
<div id="input_username_total" class="center">
  <div id="input_img">
    <img src="img/username_pic.png" id="pic_username"></img>
  </div>
  <div id="input_username">
    <input type="text" id="form_input_username" placeholder="Username" />
  </div>
</div>

然后将所有内容与中间对齐,从而使所有内容保持一致。

答案 2 :(得分:0)

请点击jsfiddle链接,正如NoLiver92指出的那样,你有一些影响它的余量。

http://jsfiddle.net/cze3u1wz/

我刚刚删除了保证金,新的css是:

#input_username_total, #input_password_total {
 overflow: hidden;
 display: block;
 width: 80%;
 display: table;
}

#input_username, #input_password {
 background: url('../img/blank_input_login.png');
 background-repeat: no-repeat;
 background-size: 100% 100%;
 margin-left: -2px;
 display: table-cell;
 }

#input_img {
 width: 16%;
 display: table-cell;
}

#pic_username, #pic_password {
 width: 100%;
}

#form_input_username, #form_input_password {
 font-size: 5.5vw;
 font-family: 'Open Sans', sans-serif;
 border: none;
 color: white;
 background: transparent;
 padding-left: 4%;
 padding-right: 2%;
 padding-top: 0px;
 padding-bottom: 0px;
 height: 100%;
 width: 94%;
}