如何使我的按钮文字完全垂直对齐?

时间:2017-03-10 11:14:41

标签: html css vertical-alignment

美好的一天,

我有两个带有向上和向下箭头的按钮,如下图所示。

enter image description here

相应的html代码如下:

[...]

<tr>
  <td class="tablerows" height="40">lab01 - Temp&#233;rat. pi&#232;ce [T1]</td>
  <td class="tablerows"><input id="lab01" type="text" name="country" class="resizedTextbox" value="20" readonly>
    <a href="#" class="myButton" onclick="TemperatureControl('lab01','decrease')"><i class="fa fa-chevron-down"></i></a>
    <a href="#" class="myButton" onclick="TemperatureControl('lab01','increase')"><i class="fa fa-chevron-up"></i></a>
</td>
</tr>

[...]

编辑,感谢您的帮助。但是,我仍然无法像我希望的那样对齐所有元素

链接的CSS如下:

td{
  vertical-align:middle;
}
.myButton {
    -moz-box-shadow:inset 0px 1px 0px 0px #54a3f7;
    -webkit-box-shadow:inset 0px 1px 0px 0px #54a3f7;
    box-shadow:inset 0px 1px 0px 0px #54a3f7;
    background-color:#3e12cc;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
    border-radius:3px;

    display:inline-block;
    cursor:pointer;
    color:#ffffff;
    font-family:Arial;
    font-size:18px;
    padding: 0 10px 10px 10px;
    text-decoration:none;
    text-shadow:0px 1px 0px #154682;
    width:20px;
    height:25px;
    vertical-align:-1px;
    line-height:auto;
}
.myButton:hover {
    background-color:#0061a7;
}
.myButton:active {
    position:relative;
    top:1px;
}
.resizedTextbox {width: 50px; 
height: 20px;
padding: 5px 5px 5px 5px;
border-color:#3e12cc;
text-shadow:0px 1px 1px #154682;
background-color:#f5effb;
vertical-align:text-top;
text-align:center;
font-size:18px;
}
progress {
  background-color: #0061a7;
  border: 0;
  height: 18px;
  border-radius: 9px;
}

我基本上要做的是进行“良好”的垂直对齐(在我的示例中,我们可以看到它没有很好地对齐)。

在让你烦恼之前 - 并冒着负面的投票 - 我试图谷歌我的问题,但我找不到我遇到的问题。我错过了一个属性还是我错误地设置了它?

感谢您的提示

5 个答案:

答案 0 :(得分:3)

使用此css,删除高度和宽度并添加box-sizing

  box-sizing: border-box;
  padding:10px;

.myButton {
  -moz-box-shadow: inset 0px 1px 0px 0px #54a3f7;
  -webkit-box-shadow: inset 0px 1px 0px 0px #54a3f7;
  box-shadow: inset 0px 1px 0px 0px #54a3f7;
  background-color: #3e12cc;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  display: inline-block;
  cursor: pointer;
  color: #ffffff;
  font-family: Arial;
  font-size: 18px;
  text-decoration: none;
  text-shadow: 0px 1px 0px #154682;
  box-sizing: border-box;
  padding: 10px;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />

<a href="#" class="myButton" onclick="TemperatureControl('lab01','decrease')"><i class="fa fa-chevron-down"></i></a>
<a href="#" class="myButton" onclick="TemperatureControl('lab01','increase')"><i class="fa fa-chevron-up"></i></a>

答案 1 :(得分:1)

我能够将它与

对齐
vertical-align:-6px;

试试这个应该有效。请继续分享一个codepen,以便其他人更容易

答案 2 :(得分:0)

.myButton

添加行高
line-height:25px;

答案 3 :(得分:0)

您需要vertical-align:middle。尝试并告诉我是否有效,否则,您可以从顶部添加padding-top: separete。

答案 4 :(得分:0)

感谢大家的快速回复。 Gowtham Shiva提供的解决方案对我帮助很大,尽管我投资的其他很多都是完美的。

最后,这是我的css文件的内容:

td{
  vertical-align:middle;
}
.myButton {
    -moz-box-shadow:inset 0px 1px 0px 0px #54a3f7;
    -webkit-box-shadow:inset 0px 1px 0px 0px #54a3f7;
    box-shadow:inset 0px 1px 0px 0px #54a3f7;
    background-color:#3e12cc;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
    border-radius:3px;

    display:inline-block;
    cursor:pointer;
    color:#ffffff;
    font-family:Arial;
    font-size:18px;
    padding: 5px 10px 5px 10px;
    text-decoration:none;
    text-shadow:0px 1px 0px #154682;
    width:20px;
    height:25px;
    vertical-align:-6px;
}
.myButton:hover {
    background-color:#0061a7;
}
.myButton:active {
    position:relative;
    top:1px;
}
.resizedTextbox {width: 40px; 
height: 20px;
padding: 5px 5px 5px 5px;
border-color:#3e12cc;
text-shadow:0px 1px 1px #154682;
background-color:#f5effb;
vertical-align:text-top;
text-align:center;
font-size:18px;
}
progress {
  background-color: #0061a7;
  border: 0;
  height: 18px;
  border-radius: 9px;
}

希望这篇文章可以帮助处于类似情况的人。

周末结束。