【发布时间】:2017-05-10 01:46:00
【问题描述】:
如果我有 2 个这样的 div,它们是可变宽度的兄弟,因为其中的文本或按钮以 vw 为单位,我怎样才能让子按钮平等地填充空间以匹配第一个兄弟 div 的宽度?
<div id="a"><p>The quick brown fox jumps over the lazy dog</p></div>
<div id="b"><button>quick</button><button>fox jumps</button><button>dog</button></div>
我尝试通过将每个 div 设置为 width:max-content; 然后使用 jquery 将 $('#a').width()-$('#b').width() 的差异除以 6 来执行此操作,将每个 1/6 块分配给每个按钮的左右填充。但是,这似乎不起作用。
我更愿意保留上述 HTML 结构,但我认为我可以将段落和按钮放在一个 div 中,并将段落设置为 100%,每个按钮设置为 33.33333% 宽度。但是还有其他方法吗?
我认为 flexbox 可以使用 flex-grow,但我不应该将 flexbox 用于这样的事情,不是吗?
什么是做我想做的事情的正确和稳健的方法?
【问题讨论】:
-
这就是你想要的吗? codepen.io/anon/pen/eWVYYX
-
@MichaelCoker 是的,就是这样。但是,虽然这解决了我的问题,但是否有另一种(更受支持或更有效)方法来实现这种风格?无论哪种方式,请把它作为答案,以防我需要检查它。
标签: javascript jquery html css