我试图将文本垂直居中在一个内联块元素中(特别是在webkit浏览器中)。几乎就是< button>元素开箱即用。
我尝试使用box-align,就像这个问题Vertical align text in block element一样,但我不想在元素上设置显式宽度:我希望它适合其内容,即我想要显示:内联块类型行为。
在Firefox中,-moz-box似乎按我想要的方式运行,但在Safari和Chrome中,-webkit-box使div想要水平填充其容器。
[oops,不能发布图片,因为我是菜鸟]
使用各种设置的示例来设置here。
在实际的< button>上查看webkit的检查器element,它默认显示:inline-block,但它服从-webkit-box-align,好像它被设置为display:-webkit-box。请参阅fiddle我明确设置display:inline-block和-webkit-box-align:end on< button>演示。
似乎通过添加额外的< div>在混合中,我可以得到我想要的行为,但我真的不愿意这样做。我也知道显示器:用于垂直居中的table-cell技术;这不合适,因为它有其他副作用。
webkit的行为是否正确? < button>如何?元素执行什么< div>不能?是否有一些我没有发现的引擎盖下的webkit CSS属性可以使< div>表现得像< button>?甚至更好,任何跨浏览器的方式这样做?
答案 0 :(得分:2)
使用css的line-height属性。使它等于包含文本的框的高度。