Просто хотів додати тут свій досвід, хоча питання старе: консенсус вище, схоже, полягає в тому, що округлення jQuery фактично настільки ж добре, як необгрунтований розрахунок - але, здається, це не так у тому, що я робив .
Мій елемент, як правило, має ширину рідини, але вміст, який динамічно змінюється через AJAX. Перш ніж переключати вміст, я тимчасово блокую розміри елемента, щоб мій макет не відхилявся під час переходу. Я виявив, що використання jQuery подібне:
$element.width($element.width());
викликає певну забаву, як між різницею фактичної ширини та обчисленою шириною існують різниці в пікселях. (Зокрема, я побачу, як слово переходить з одного рядка тексту на інший, вказуючи, що ширина була змінена, а не просто заблокована.) З іншого питання - Отримання фактичної ширини елемента з плаваючою точкою - я знайшов , що window.getComputedStyle(element).widthповерне необгрунтований розрахунок. Тож я змінив наведений вище код на щось на зразок
var e = document.getElementById('element');
$('#element').width(window.getComputedStyle(e).width);
І з ТИМ кодом - ніяких смішних стрибків! Здається, цей досвід свідчить про те, що неокруглене значення насправді має значення для браузера, так? (У моєму випадку версія Chrome 26.0.1410.65.)