将文本放在具有固定高度的元素内

时间:2012-11-03 18:47:35

标签: css css3

当我在css中制作徽章/按钮等时。我通常使用填充将文本放在元素中。我现在遇到过这种情况不起作用的情况。

p-tag的高度为50px。这意味着如果我添加填充,总高度将变大。是否有其他方法可以更改标签内的文本位置?

2 个答案:

答案 0 :(得分:0)

您需要垂直或水平移动文字吗?如果是水平的,你可以使用text-indent。

如果要将文本放在容器的垂直中心,并且只有一行文本,则可以将line-height属性设置为与元素的高度相同。

提供确切的详细信息或代码示例,我会尽力提供帮助。

答案 1 :(得分:0)

没有必要使用身高,你可以使用类似下面的东西来做到这一点:

.classname {
    -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
    -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
    box-shadow:inset 0px 1px 0px 0px #ffffff;
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) );
    background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
    background-color:#ededed;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
    border:1px solid #dcdcdc;
    display:inline-block;
    color:#777777;
    font-family:arial;
    font-size:15px;
    font-weight:bold;
    padding:16px 33px;
    text-decoration:none;
    text-shadow:1px 1px 0px #ffffff;
}.classname:hover {
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) );
    background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
    background-color:#dfdfdf;
}.classname:active {
    position:relative;
    top:1px;
}

DEMO