html – 按钮元素中的顶部对齐文本?

我有一些按钮具有不同数量的文本行,都具有固定的宽度和高度.似乎我放在< button>之间的任何东西< /按钮>标签认垂直对齐中间.我想将按钮中的文本垂直对齐到顶部,以便每个按钮的第一行从同一行开始.

我找到的一个解决方法this,但正如您在此示例(http://jsfiddle.net/d27NA/1/)中所看到的,使用此方法,我必须手动指定包含不同长度文本的按钮的top属性,否则包含较长文本的按钮将溢出顶部.

我想知道是否有一种替代方法可以更优雅的方式解决这个问题.谢谢.

HTML:

<div>
    <button class="test">
        This text is vertically center-aligned. I want this to be top-aligned.
    </button>
</div>

CSS:

.test{
    font-size:12px;
    line-height:14px;
    text-align:center;
    height:100px;
    width:100px;
}

解决方法

是的,只需将按钮定义为position:relative;和span作为position:absolute; top:0; left:0;而且你在做生意.

jsFiddle updated

UPDATE

因此,在这个答案后的三年里,flexBox变得更加突出.因此,您现在可以这样做:

.test {
    display: inline-flex; /* keep the inline nature of buttons */
    align-items: flex-start; /* this is default */
}

这应该会给你你想要的东西.您可能需要应用外观:无; (使用适当的浏览器前缀),但应该这样做.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些