Другое решение - установить размеры для img и использовать «object-fit: cover;». Он будет работать так же, как «background-size: cover», не мешая фоновым изображениям.
img {
object-fit: cover;
border-radius:50%;
width: 150px;
height: 150px;
}
Я нашел это на пост Криса Нейджера. - 1
Редактировать: как упоминалось @prograhammer, это не работает в IE. Edge поддерживает это только для тегов .
Частичная поддержка в Edge относится к
object-fit
только поддержке- 2
Редактировать 2: Этот пост Приможа Cigler показывает, как использовать Modernizr для добавления резервной поддержки IE, но в этом случае вам потребуется добавить обертку для de image.
В этом сообщении говорится об использовании частного API для достижения эффекта: текст ссылки
Кажется, это сложная комбинация двухмерных и трехмерных преобразований. : - \ Вы должны действительно углубиться в CoreAnimation, чтобы смоделировать этот эффект.
Я бы сделал это с помощью аффинного преобразования, применяемого к слою представления. Линейная алгебра не моя сильная сторона;) поэтому я не могу указать точное преобразование, но я предполагаю, что для анимации будет что-то вроде этого:
Я думаю, что примерно так и будет. Возможно, вам придется анимировать эти вещи в разное время или все в одном блоке, я не совсем уверен.
Посмотрите документацию для CALayer, CABasicAnimation и CGAffineTransform.