如何使文本上方的图标按钮

时间:2014-04-25 14:23:15

标签: html css

按钮的CSS是:

.physician:before {
    content: " ";
    display: inline-block;
    background: url("../theImages/ste.png") no-repeat;
    height: 50px;
    line-height: 50px;
    vertical-align: middle;
    width: 52px;
    margin: 0 auto;
    padding-right: 15px;
}
.urgentcare:before {
    content: " ";
    display: inline-block;
    background: url("../theImages/ug.png") no-repeat;
    height: 50px;
    line-height: 50px;
    vertical-align: middle;
    width: 52px;
    padding-right: 15px;
    /*margin-left: 10%;*/
}

我要做的是让所有按钮看起来像医生按钮,图标水平居中于文本上方,也是水平居中。

按钮css:

button:before {
    content: " ";
    display: inline-block;
    background: url("../theImages/ste.png") no-repeat;
    height: 38px;
    line-height: 38px;
    vertical-align: middle;
    width: 52px;
    margin-right: 20%;
}
button {
    border: 1px solid rgba(0,0,0,0.3);
    background: #eee;
    color: #515151;
    font-size: 24px;
    font-weight: 700;
    padding: 21px 34px;
    text-decoration: none;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0.21, rgb(203,203,203)), color-stop(0.58, rgb(227,226,226)));
    background: -moz-linear-gradient(center bottom, rgb(203,203,203) 21%, rgb(227,226,226) 58%);
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0 0 0 5px rgba(255,255,255,0.3) /* glass edge */, inset 0 1px 0 0 rgba(255,255,255,0.5) /* top highlight */, inset 0 -3px 0 0 rgba(0,0,0,0.5) /* bottom shadow */;
    -webkit-box-shadow: 0 0 0 5px rgba(255,255,255,0.3), inset 0 1px 0 0 rgba(255,255,255,0.5), inset 0 -3px 0 0 rgba(0,0,0,0.5);
    box-shadow: 0 0 0 5px rgba(255,255,255,0.3), inset 0 1px 0 0 rgba(255,255,255,0.5), inset 0 -3px 0 0 rgba(0,0,0,0.5);
    text-shadow: 0 1px rgba(255,255,255,0.6);
}
button::-moz-focus-inner, a.button::-moz-focus-inner {
    padding:0;
    border:0;
}
button:hover, a.button:hover {
    background: #cbcbcb;
    cursor: pointer;
}
button:active, a.button:active {
    background: #ccc;
    padding: 22px 34px 20px; /* Bump down text */
    -moz-box-shadow: 0 0 0 5px rgba(255,255,255,0.3), inset 0 -1px 0 0 rgba(255,255,255,0.5), inset 0 2px 5px 0 rgba(0,0,0,0.2);
    -webkit-box-shadow: 0 0 0 5px rgba(255,255,255,0.3), inset 0 -1px 0 0 rgba(255,255,255,0.5), inset 0 2px 5px 0 rgba(0,0,0,0.2);
    box-shadow: 0 0 0 5px rgba(255,255,255,0.3), inset 0 -1px 0 0 rgba(255,255,255,0.5), inset 0 2px 5px 0 rgba(0,0,0,0.2);
    text-shadow: none;
}
.red {
    background: #e1001a;
    color: #fff;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(0.21, rgb(192,0,22)), color-stop(0.58, rgb(226,0,26)));
    background: -moz-linear-gradient(center bottom, rgb(192,0,22) 21%, rgb(226,0,26) 58%);
    text-shadow: 0 1px rgba(0,0,0,0.25);
}
.red:hover {
    background: #cb0018;
    text-shadow: 0 1px rgba(0,0,0,0);
}
.red:active {
    background: #ae0014;
}

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

我认为你几乎就在那里,而不是内联块,使图像成为块元素:

.physician:before {
    content: "";
    display: block;
    background: url("../theImages/ste.png") no-repeat;
    height: 50px;
    width: 52px;
    margin: auto;
}

Example