#css #webkit #integer #width
#css #webkit #целое #ширина
Вопрос:
когда я использую числа с десятичной дробью в своих спецификациях css, подобных этому:
#UploadWrapper.OneRow #UploadList #UploadUl li div.imageDiv, #UploadWrapper.TwoRows #UploadList #UploadUl li div.imageDiv{
width: 58.8px;
height: 44px;
}
кажется, что Firefox использует правильное число для вычисления позиции, но округляет сумму до этого, чтобы воспроизвести его… потому что он может отображать его только в собственных пикселях.
Браузеры Webkit просто принимают целое число (58) …
Как я могу:
1. Force the Webkit browser to behave like FF? ... or ...
2. Sepecify an other width, that only takes effect in webkit browsers? I already tried
-webkit-width: but it didn't work ...
Спасибо за любой совет!
Ответ №1:
Я не думаю, что вы можете сделать это элегантно. В общем, лучше всего рассматривать пиксели как атомарные единицы, которые нельзя разделить.
Решения:
- Найдите другой способ позиционирования ваших элементов. т. Е. Используйте проценты или сделайте последний столбец на 1 пиксель короче (или что угодно, что нужно вашему дизайну, чтобы можно было использовать целые числа)
- Используйте JS browser sniffing, чтобы добавить класс «webkit» или аналогичный элементу body, а затем используйте это для применения других правил стиля.
Я бы посоветовал не использовать второе решение, поскольку оно, вероятно, излишне сложное.
Комментарии:
1. На самом деле, представление пикселей как «атомарных единиц, которые нельзя разделить» — это то, что ломается, как только вы находитесь на iPhone 4 или как только пользователь увеличивает масштаб…. Но да, я согласен, что нет хорошего обходного пути для сбоя WebKit «мы просто округлим все длины до целых пикселей во время вычисления».