I'm looking for a way to get an A4 responsive page like in this example : https://codepen.io/chriscoyier/pen/VvRoWy. But instead of resizing through a component, it would be using the navigator. Is that actually possible ?
I've been trying to get an answer with the help of the community in thoses posts :
However, the responsive is different. Because I really need to keep the A4 format from cellphone screens to 4K televisors. Like in any screen, we would see an entire page (not smaller, nor bigger than the screen itself).
In the very last case, I would use media queries but getting a solution with JS would be better. I guess in some way, I need to get the height and adjust the scale even after the page feets the screen. But I can't find a solution alone.
Any help is very welcomed :)
My actual code :
function adjustZoomLevel() {
var documentWidth = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
// 1 cm = 37.795276px;
var zoomLevel = documentWidth / (21 * 37.795276);
// stop zooming when book fits page
if (zoomLevel >= 1) return;
document.querySelector("body").style.transform = "scale(" + zoomLevel + ")";
}
adjustZoomLevel();
window.addEventListener("resize", adjustZoomLevel);
body {
margin: 0;
padding: 0;
background: #ddd;
text-align: center;
transform-origin: top center;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
* {
box-sizing: border-box;
}
.page {
width: 21cm;
height: 29.7cm;
padding: 2cm;
margin: 1cm 0;
background: white;
box-shadow: 0 4px 5px rgba(75, 75, 75, 0.2);
border: 1px #d3d3d3 solid;
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
}
img {
width: 100%;
height: 200px;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
}
<body>
<section id="one" class="page">
<img src="https://helpx.adobe.com/content/dam/help/en/stock/how-to/visual-reverse-image-search/jcr_content/main-pars/image/visual-reverse-image-search-v2_intro.jpg" alt="" />
<h3>TITLE</h2>
<h3>SUBTITLE</h3>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
</section>
<section id="two" class="page">
<img src="https://helpx.adobe.com/content/dam/help/en/stock/how-to/visual-reverse-image-search/jcr_content/main-pars/image/visual-reverse-image-search-v2_intro.jpg" alt="" />
<h3>TITLE</h2>
<h3>SUBTITLE</h3>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
</section>
</body>