我正在尝试为扩展元素以使用可用宽度(100%)的ul
菜单创建一个 javascript 算法。li
我正在考虑使用此流程的算法:
1. calculate the entire available with
2. substract the total elements width to see what's left
3. iterate the elements and substract 1px from the left width and assign
it to the smallest li until the iterator runs out of width
这是一个好方法还是会因为它可能意味着几百次迭代而过于滞后?
编辑:提供的评论/答案还没有一个好的答案,因为可能一个或多个 a 元素包含冗长的文本,这些不应该得到任何额外的长度。这个问题需要一个算法解决方案,因为每次迭代后只有最小的元素可以计算剩余像素,因此菜单被有效地拉伸
更新:对于那些感到困惑的人,这是我希望它伸展的方式:
1. A bank has a total bankroll of 100 dollars
2. Jack has a 40% cut, Dennis has 6%, Minny has 1%
3. The bank starts handing out moneyz, 1 dollar each time starting with the
poorest kid.
4. In the end Jack has 40% while Dennis and Minny have both 30%
Where the cuts stand for the number of characters in a li's child a node
注意:我已经阅读了一个使用表格显示的纯 css 解决方案,但这确实没有任何好处,因为底层<a>
元素似乎并没有以这种方式与父元素一起拉伸。