Проблема с отображением адаптивного макета сайта с Bootstrap для низкого разрешения - PullRequest
0 голосов
/ 08 марта 2020

Я хотел бы сделать адаптивный дизайн для небольшого веб-сайта с Bootstrap, но я новичок ie и не могу найти решения моей проблемы здесь. Я хочу иметь возможность отображать заголовок для широкого набора различных устройств, это значит и для мобильных телефонов с небольшим дисплеем. Итак, я написал что-то вроде этого:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=0.5">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
        <title>Test</title>
    </head>
    <body>
    <header class="bg-light">
      <div class="container">
        <div class="row p-3 bg-success rounded">
            <div class="col-md-2 col-sm-3 text-left">
                <img src="images/home.png" class="img-fluid" alt="Home">
            </div>
            <div class="col-md-8 col-sm-6 text-center">
                <h2>MainText</h2>
            </div>    
            <div class="col-md-2 col-sm-3 text-right">
                <img src="images/settings.png" class="img-fluid" alt="Settings">
            </div>          
        </div>
      </div>
    </header>
    </body>
    </html>

Он работает с каждым веб-браузером довольно хорошо, но он не работает должным образом для небольших разрешений. Это обычный вид этой страницы:

Normal resolution

Но после достижения некоторой ширины (как я вижу, она должна быть 576 пикселей), он разбивает мой макет на три строки для каждого div:

Lower resolution

Это не зависит от размера текста или изображения, там много места, поэтому должно быть поведение Bootstrap.

Как мне избежать этого и сделать действительно адаптивный дизайн? Моя страница очень проста, и это должно быть решение для ее правильного отображения, я не могу понять, почему Bootstrap не позволяет это.

1 Ответ

0 голосов
/ 08 марта 2020

Добавьте col для маленьких экранов. Вы можете удалить col-sm и оставить только col- Это происходит с вашим кодом, потому что вы не установили ничего для экрана меньшего размера, чем sm, а bootstrap по умолчанию для любого столбца устанавливает col-12. Таким образом, ваши три ряда на маленьких экранах имели col-12 внутри. Заголовок переместился в центр причины текстового центра, а последнее изображение пошло влево по причине текста справа.

<header class="bg-light">
  <div class="container">
    <div class="row p-3 bg-success rounded">
        <div class="col-md-2 col-sm-3 col-3 text-left">
            <img src="images/home.png" class="img-fluid" alt="Home">
        </div>
        <div class="col-md-8 col-sm-6 col-6 text-center">
            <h2>MainText</h2>
        </div>    
        <div class="col-md-2 col-sm-3 col-3 text-right">
            <img src="images/settings.png" class="img-fluid" alt="Settings">
        </div>          
    </div>
  </div>
</header>

Live пример

Если вы хотите другой подход на маленьких экранах меняйте классы col- *. col-xs- * были исключены в Bootstrap 4 в пользу col - *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...