Можно ли & ldquo; привязать к пикселю & rdquo; после CSS перевод?

Это довольно близко к задаче XY . То есть, задаваемый вопрос заключается в том, как мутировать захваченную локальную переменную из лямбда. Но фактическая задача заключается в том, как подсчитать элементы списка.

По моему опыту, в 80% случаев возникает вопрос о том, как мутировать захваченный локальный изнутри лямбда, есть лучший способ продолжить. Обычно это связано с сокращением, но в этом случае техника управления потоком по индексам списка применяется хорошо:

IntStream.range(0, list.size())
         .forEach(i -> list.get(i).setOrdinal(i));

30
задан James Long 16 August 2013 в 12:14
поделиться

3 ответа

Единственное пуленепробиваемое решение состоит в том, чтобы ваш элемент занимал четное количество пикселей. Если высота (или ширина) не делится на 2, он попытается отобразить ваш элемент на полпикселя, что приведет к размытости.

Firefox не имеет этой проблемы, потому что он поддерживает настоящий субпиксельный рендеринг. Таким образом, даже если ваш элемент имеет полпикселя, Firefox элегантно с ним справляется.

По моему опыту, Webkit обычно привязывает элементы к ближайшему пикселю - (например, при использовании свойства letter-spacing) - поэтому странно, что он не ведет себя так же для translate. 115]

7
ответ дан derrylwc 16 August 2013 в 12:14
поделиться

Я всегда использую perspective: 1px;, например:

{
  margin: 50% 0 0 50%;
  perspective: 1px;
 transform: translate(-50%, -50%);
}
0
ответ дан user1696257 16 August 2013 в 12:14
поделиться

Поскольку я столкнулся с той же проблемой с субпикселями в Chrome, а в версии 64 он все еще не может обрабатывать значения преобразования субпикселей, я решил написать небольшой js-скрипт, который устраняет проблему с субпикселями. Вы можете найти его на github . Он просто округляет значение преобразования до полного пикселя.

how subpixel works

Надеюсь, кто-то найдет это полезным!

1
ответ дан engray 16 August 2013 в 12:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: