html – 显示:table-cell,border-spacing不能与按钮一起使用?

所以,我使用display:table-cell将两个按钮放在一起,以便如果一个文本从一个文件溢出到下一行,则两个按钮的高度都相同.我有边框崩溃:单独,并使用边框间距在它们之间放置空格.如果我正在使用< div class =“button”>之类的东西,它的工作正常,但是一旦我使用< button>元素,中间空间消失.

JSfiddlehttp://jsfiddle.net/uASbb/

现在,使用< div>现在很好(如果没有语义上的准确),所以我大多只是好奇,如果有人知道这里究竟发生了什么.

注意:我也注意到使用< input>的一些(不同的)奇怪的行为.在同样情况下的要素:http://jsfiddle.net/G5SFX/1/

显示:这些实例中不支持table-cell?这是一个bug吗?

谢谢!

编辑:似乎你只是不能应用一个显示:table-cell到一个按钮;它只是认回到内联块.查看Chrome WebInspector的屏幕截图:

现在的问题依然存在:这是有意的吗?是规格还是只是浏览器?我们可以改变吗?

解决方法

将按钮元素插入到div中是一个很好的解决方案(在你所在的地方我也会选择它),但是如果你想在两个按钮元素之间并排显示空格,而不需要div的帮助,你可以尝试这个为你的.item类:
.item {
    display: table-cell;
    width: 46%;
    background: aliceBlue;
    border: 1px solid black;
    margin: 1%;
}

宽度减少到46%,以便在每个按钮元素周围保持1%的余量.现在你们之间有一个空格,如果你调整窗口大小,第二个按钮元素不会落在第一个按钮之下.

示例:http://jsfiddle.net/codenighter/H7TZU/

希望它有帮助.

编辑:似乎边框间距(实际上没有块样式正在工作)不符合按钮或输入.但是它与其他内联元素(如span,h1或b)一起工作.因此,对于输入和按钮,显示:table-cell属性无法正确应用(我已经更改了按钮和输入的宽度值,并显示,而对于span和b,宽度实际上保持在50%).

示例:http://jsfiddle.net/codenighter/HrTZS/

相关文章

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