简洁版本
如果我不设置水平边距,我的代码运行良好。这就是为什么我的代码使用 .width() 来获取和设置元素宽度,但我不能对 .outerWidth() 做同样的事情,因为它是只读的。有没有办法设置它?
长版
我有许多float: left
不同宽度的按钮(使用 ),我希望每个按钮都有一个宽度,以便制作一个漂亮且优化的按钮表。
所以我写了这个:
buttons = $('.button-table > button');
maxWidth = Math.max.apply(
Math,
buttons.map(function(){
return $(this).width();
}).get()
);
columns = Math.floor($('#container').width()/maxWidth);
buttons.width(100/columns+'%');
此代码有效,但如果我为按钮设置水平边距,最后一个将在下一行移动。
注意:我更喜欢百分比,因为如果我使用此代码,我经常会在容器的右端看到一些像素(我可以看到它们使用不同的颜色):
buttons.width(Math.floor($('.button-table').width()/columns));
笔记
这是我在 Stack Overflow 上的第一个问题,如果我在使用这个平台时出现错误,请见谅。