Я уверен, что вопрос уже сбивает с толку. По сути, я хочу использовать css, чтобы абсолютно позиционировать div с перспективой, чтобы он выглядел как внутри экрана ноутбука, который я создал с помощью svg.
Я полагаю, что это возможно при использовании некоторой комбинации perspective
, rotateX()
, rotateY()
, но не могу понять, что это правильно.
См. Этот кодовый блок
Вот соответствующий css:
.container {
perspective: 500px;
}
.screenContents {
transform: rotateX(10deg) rotateY(-10deg);
/* 16:9 ratio to calculate size */
--scale: 36;
width: calc(16px * var(--scale));
height: calc(9px * var(--scale));
position: absolute;
top: 30px;
left: 300px;
}
Html:
<div class='container'>
<div class='screenContents'>Screen Contents</div>
</div>
<img src='device.svg' />
Некоторые другие попытки, которые я пытался установить perspective-origin
и / или использование rotateZ()
SVG Размеры и информация
В случае, если это окажется полезным, вот некоторые размеры экрана, которые я вычислил из svg:
area: 1529 sq pixels
(ширина и высота рассчитаны для каждой угловой точки)
width: ~500px
height: ~350px
Координаты каждой точки экрана svg, которые я использовал для определения высоты, ширины и площади:
top left: 382,514
top right: 882,503
bottom left: 312,187
bottom right: 816,151
Кроме того, svg - это просто прослеженная картинка Google Pixel Go ноутбук с размером экрана 13,3 "и соотношением сторон 16: 9
Мне кажется, эти размеры должны быть как-то в окончательных расчетах.
Сводка
Я бы хотел расположить div так, чтобы он выглядел так, как будто он просматривается на экране ноутбука. Я не знаю, как правильно сделать это, и мог бы использовать некоторые указатели или безумного гения, чтобы создать решение для меня. Используйте codepen , чтобы возиться с ним.
Итак, любой css гуру, который мог бы помочь ????