2016-06-10 2 views
2

У меня следующая ситуация:CSS известково - округление с двумя десятичными случаями

div { 
    width: calc((100%/11) - 9.09px); 
} 

В контексте, 100% = 1440px и 9.09px генерируются в математике с дерзостью.

Результаты: 94.55px, потому что функция calc округляется, но мне нужно 94.54px (округлить вниз).

Как я могу округлить до ближайшего сотого места?

#Edit: example.

+2

Вы не должны получать ни одно из этих значений. (1440/11) = 130,90909px, минус 9,09px = 121,89109px. Можете ли вы создать [MCVE], который воспроизводит вашу ошибку? – TylerH

+1

Но по спецификации CSS 'calc()' округляется. Поэтому, если вы хотите округлить, вам нужно будет использовать JavaScript. – TylerH

+0

@TylerH, пример вопрос тело сейчас –

ответ

2

К сожалению, в CSS нет родного пути для округления (или количества строк).

Однако — Вы упомянули, что используете Sass. Я нашел small Sass library, который может округлять, пол и номера токов до указанной точности.

Например, если у вас был 94.546, вы можете использовать decimal-floor(94.546, 2), который вернет 94.54.

К сожалению, это может не помочь, если вам нужно использоватьдля расчета на лету с помощью CSS. Однако, если вы можете предварительно вычислить width и поместить его в Sass, это будет соответствовать вашим потребностям. Возможным решением может быть использование запросов @media в качестве способа установки контрольных точек и использования этих контрольных точек в вашей предварительной обработке Sass.

+0

К сожалению, это не решит мою проблему. Большое спасибо за объяснение этого и ваших предложений. –

Смежные вопросы