@bbjob

Как сделать пропорциональное уменьшение сайта без media?

К примеру есть сайт, 2560px в ширину. Можно ли сделать так, чтобы вплоть до 1199ти пикселей он просто, как картинка с шириной 100% уменьшался, а потом перешёл в мобильную версию, например скриптом?
  • Вопрос задан
  • 298 просмотров
Решения вопроса 1
RAFAILgaley
@RAFAILgaley
посмотри пример
- вроде бы всё прекрасно работает
проверь
let адаптировать_размер = function()
{
let ширина_экрана = document.body.clientWidth
if ( ширина_экрана < 1084 )
{
let отношение = ширина_экрана / 1084
главный_контейнер.style.transform = "scale(" + отношение + ")"
}
else
{
главный_контейнер.style.transform = "scale(1)"
}
}
window.onresize = адаптировать_размер
адаптировать_размер()


body { 
overflow: auto; 
flex-direction: column; 
justify-content: flex-start; 
align-items: center; 
} 
#главный_контейнер { 
width: 1024px; 
flex-shrink: 0; 
transform-origin: center top ;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gtomilin
@gtomilin
JavaScript HTML CSS
Писал класс для определения размеров окна
class Sizer {
    constructor(){
        document.addEventListener('DOMContentLoaded', ()=>{

            // windowHeght/Width - размер с учётом ширины скролл полосы
            // documentHeght/Width - размер с учётом ширины скролл полосы
            this.windowWidth = window.innerWidth;
            this.windowHeight = window.innerHeight;
            this.documentWidth = document.body.clientWidth;
            this.documentHeight = document.body.clientHeight;
        })

        window.addEventListener('resize', ()=>{
            this.windowWidth = window.innerWidth;
            this.windowHeight = window.innerHeight;
            this.documentWidth = document.body.clientWidth;
            this.documentHeight = document.body.clientHeight;
        })

    }

}

let sizer = new Sizer;


window.addEventListener('resize', ()=>{
    if(sizer.windowWidth < 1199){
        console.log('размер окна меньше 1199px');
        // тут можно писать что будет происходить с сайтом/разметкой/класса CSS если ширина окна меньше 1199px
    }
})


И решение самое простое

window.addEventListener('resize', ()=>{
    if(document.body.clientWidth < 1199){
        console.log('размер окна без учёта прокрутки меньше 1199px');
        // тут можно писать что будет происходить с сайтом/разметкой/класса CSS если ширина окна меньше 1199px
    }
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы