顶部的文字不是按钮

时间:2017-07-08 10:26:01

标签: javascript jquery html css

我的按钮上面有文字

这是代码

.settings-button-new {
    width: 150px;
    height: 150px;
    text-decoration: none;
    line-height: 14px;
    text-align: center;
    position: relative;
    margin-left: 20px;
    margin-bottom: 20px;
    border: solid 4px #d3dbde;
    -webkit-border-radius: 13px;
    -moz-border-radius: 13px;
    border-radius: 13px;
    font: 15px Arial, Helvetica, sans-serif;
    color: #1c559b;
    background-color: #ffffff;
    background-image: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -webkit-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -o-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -ms-linear-gradient(top, #ffffff 0%,#fcfcfc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#fcfcfc',GradientType=0 );
    background-image: linear-gradient(top, #ffffff 0%,#fcfcfc 100%);
    -webkit-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
    -moz-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
    box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
}

.settings-button-new span {
    display: block;
    position: absolute;
    top:0;
    left:0;
}
 <button class="settings-button-new"><span>Home</span></button>

它位于顶部,但没有居中,你可以看到。

我尝试使用text-align: center;,但似乎无效。

我如何将其置于按钮中心?

感谢您的帮助

6 个答案:

答案 0 :(得分:2)

如果不需要垂直居中,只需添加以下css代码作为中心,然后top:0 or as your need;transform: translate(-50%, 0);

.settings-button-new span {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

&#13;
&#13;
.settings-button-new {
  width: 150px;
  height: 150px;
  text-decoration: none;
  line-height: 14px;
  position: relative;
  margin-left: 20px;
  margin-bottom: 20px;
  border: solid 4px #d3dbde;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
  font: 15px Arial, Helvetica, sans-serif;
  color: #1c559b;
  background-color: #ffffff;
  background-image: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  background-image: -webkit-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  background-image: -o-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  background-image: -ms-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#fcfcfc', GradientType=0);
  background-image: linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  -webkit-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
  -moz-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
  box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
}

.settings-button-new span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
&#13;
<button class="settings-button-new"><span>Home</span></button>
&#13;
&#13;
&#13;

只有中心。

.settings-button-new span {
          display: block;
          position: absolute;
          top: 5px;
          left: 50%;
          transform: translate(-50%, 0);
        }

&#13;
&#13;
.settings-button-new {
  width: 150px;
  height: 150px;
  text-decoration: none;
  line-height: 14px;
  position: relative;
  margin-left: 20px;
  margin-bottom: 20px;
  border: solid 4px #d3dbde;
  -webkit-border-radius: 13px;
  -moz-border-radius: 13px;
  border-radius: 13px;
  font: 15px Arial, Helvetica, sans-serif;
  color: #1c559b;
  background-color: #ffffff;
  background-image: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  background-image: -webkit-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  background-image: -o-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  background-image: -ms-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#fcfcfc', GradientType=0);
  background-image: linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
  -webkit-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
  -moz-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
  box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
}

.settings-button-new span {
  display: block;
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translate(-50%, 0);
}
&#13;
<button class="settings-button-new"><span>Home</span></button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

也许这段代码可以帮到你

&#13;
&#13;
.settings-button-new {
    width: 150px;
    height: 150px;
    text-decoration: none;
    line-height: 14px;
    text-align: center;
    position: relative;
    margin-left: 20px;
    margin-bottom: 20px;
    border: solid 4px #d3dbde;
    -webkit-border-radius: 13px;
    -moz-border-radius: 13px;
    border-radius: 13px;
    font: 15px Arial, Helvetica, sans-serif;
    color: #1c559b;
    background-color: #ffffff;
    background-image: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -webkit-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -o-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -ms-linear-gradient(top, #ffffff 0%,#fcfcfc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#fcfcfc',GradientType=0 );
    background-image: linear-gradient(top, #ffffff 0%,#fcfcfc 100%);
    -webkit-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
    -moz-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
    box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
}

.settings-button-new span {
    display: block;
    position: absolute;
    top:0;
    left: 50%;
    transform: translateX(-50%);
}
&#13;
 <button class="settings-button-new"><span>Home</span></button>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

您可以在不使用绝对定位的情况下删除垂直对齐文本:您可以使用vertical-align和伪元素。 Source answer for this technique

另外

  • 在这种情况下,您不需要绝对位置(和text-align: center)。
  • 我建议您删除供应商前缀属性,因为它们适用于非常旧的浏览器
  • linear-gradient适用于background,而非background-image属性

演示:

/* styles to align button's text at the top */
.settings-button-new:after {
  content: "";
  display: inline-block;
  vertical-align: top;
  height: inherit;
}

/* styles to align button's text at the top */
.settings-button-new span {
  vertical-align: top;
  display: inline-block;
}

/* Cleaned up button styles */
.settings-button-new {
  width: 150px;
  height: 150px;
  text-decoration: none;
  margin-left: 20px;
  margin-bottom: 20px;
  border: solid 4px #d3dbde;
  border-radius: 13px;
  font: 15px Arial, Helvetica, sans-serif;
  color: #1c559b;
  background: #fff linear-gradient(top, #fff 0%, #fcfcfc 100%);
  box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #fff;
}
<button class="settings-button-new">
  <span>Home</span>
</button>

答案 3 :(得分:0)

.settings-button-new span {
margin: 0px;
text-align: center;

}

答案 4 :(得分:0)

你可以将跨度改为div,text-align:center将正常工作

答案 5 :(得分:0)

删除poistion。只需添加margin:auto

即可

.settings-button-new {
    width: 150px;
    height: 150px;
    text-decoration: none;
    line-height: 14px;
    text-align: center;
    position: relative;
    margin-left: 20px;
    margin-bottom: 20px;
    border: solid 4px #d3dbde;
    -webkit-border-radius: 13px;
    -moz-border-radius: 13px;
    border-radius: 13px;
    font: 15px Arial, Helvetica, sans-serif;
    color: #1c559b;
    background-color: #ffffff;
    background-image: -moz-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -webkit-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -o-linear-gradient(top, #ffffff 0%, #fcfcfc 100%);
    background-image: -ms-linear-gradient(top, #ffffff 0%,#fcfcfc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#fcfcfc',GradientType=0 );
    background-image: linear-gradient(top, #ffffff 0%,#fcfcfc 100%);
    -webkit-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
    -moz-box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
    box-shadow: 0px 0px 2px #bababa, inset 0px 0px 1px #ffffff;
}

.settings-button-new span {
    margin:auto;
}
<button class="settings-button-new"><span>Home</span></button>