Как адаптировать SPA под мобильную версию?

175
11 марта 2019, 04:00

Имеется одна страница. Её нужно адаптировать под мобильные устройства. Как грамотно прописать @media (max-width) в .css-файле, чтобы это коснулось всех h1, h2,

, margin'ов, padding'ов ?

Как учесть вертикальное и горизонтальное расположение экранов, взяв 720px за основу?

.clear { 
    float: none; 
    clear: both; 
} 
 
.background-crm { 
    background: url("/products/crm/images/images/crm-background.png") top center no-repeat; 
    margin-top: 95px; 
} 
 
.background-crm .main-container { 
    width: 1170px; 
    margin: 0px auto; 
    position: relative; 
    min-height: 100%; 
} 
.background-crm .main-container h1 { 
    padding-top: 60px; 
    padding-left: 20px; 
    color: #3c1a75; 
    font-size: 48px; 
    text-transform: uppercase; 
} 
.background-crm .main-container .first-block { 
    margin-top: 0px; 
} 
.background-crm .main-container .first-block p { 
    color: white; 
    font-size: 24px; 
    padding: 175px; 
    padding-left: 22px; 
    padding-bottom: 80px; 
    padding-right: 40px; 
    line-height: 28px; 
} 
.background-crm .main-container .second-block { 
    top: 90px; 
    left: 560px; 
    position: absolute; 
} 
.background-crm .main-container .third-block { 
    position: absolute; 
    left: -190px; 
    top: 590px; 
} 
.background-crm .main-container .fourth-block { 
    margin-top: 295px; 
    float: right; 
    width: 521px; 
    margin-right: 10px; 
} 
.background-crm .main-container .fourth-block h2 { 
    font-size: 24px; 
    font-weight: bold; 
    color: #3c1a75; 
    margin: 17px 0px; 
    text-transform: uppercase; 
} 
 
.background-crm .main-container .fourth-block ul { 
    list-style-type: none; 
    margin-left: 0px; 
    padding-left: 0px; 
} 
 
.background-crm .main-container .fourth-block ul li { 
    font-size: 20px; 
    padding-bottom: 10px; 
    line-height: 22px; 
    color: #656a74; 
} 
 
.background-crm .main-container .fourth-block ul li:before { 
    color: #656a74; 
    content: '\25CF'; 
    margin-right: 20px; 
    font-size: 16px; 
}
 <div class="background-crm"> 
                <div class="main-container"> 
                    <h1>Crm-promo</h1> 
                        <div class="first-block">    
                            <p> 
                                Cистема с возможностью интеграции с сайтом,<br/> 
                                социальными медиа, инструментами<br/> 
                                распознавания QR кодов и т.д., позволяющая<br/> 
                                собирать показатели об эффективности<br/> 
                                проводимой промоакции.<br/> 
                            </p> 
                        </div> 
                        <div class="second-block"> 
                            <img src="images/images/crm-second-picture.png"> 
                        </div> 
                        <div class="third-block"> 
                            <img src="images/images/crm-picture.png"> 
                        </div> 
                        <div class="fourth-block"> 
                            <h2>Возможности:</h2> 
                                <ul> 
                                    <li>Выгрузка отчетов для сбора необходимых<br/>показателей по каждой рекламной кампании.</li> 
                                    <li>Интеграция с сайтом и мессенджерами.</li> 
                                    <li>Подключение различных дополнительных<br/>платформ (в том числе инструментарий<br/>автоматического распознавания и проверки<br/>QR-кодов).</li> 
                                </ul> 
                        </div> 
                </div> 
             </div>

Answer 1

Для начала я бы вам рекомендовал сделать сброс всех стилей, используя reset.css или normalize.css. Если у вас большое количество текстовой информации, тут было бы удобнее использовать em, т.к легко можно будет переопределить размер всех текстов и сохранить первоначальные пропорции. Для того. что бы сделать максимально гибкую верстку с учетов всех разрешений и ориентации устройства, вам понадобится прописать css под каждый вариант. используя @media (orientation: landscape/portrait)(min-width, max-width)(min-height, max-height)(aspect-ratio) и другие. Более подробно можно глянуть здесь https://html5book.ru/css3-mediazaprosy/

READ ALSO
Как сделать Google Map внутри MockUp Макбука

Как сделать Google Map внутри MockUp Макбука

Имеется мокап макбука и клиент хочет чтобы карта была непосредственно внутри макбукаНо я понятия не имею как это сделать? Есть какие-то предположения

152
Смена фона с js

Смена фона с js

Написал код

158
Равномерная верстка карточек

Равномерная верстка карточек

Недавно начал верстать и столкнулся с такой проблемойКак сделать без отступов, полей и bootstrap равномерную многострочную верстку карточек...

158