Как использовать vh и vw CSS для одной страницы без прокрутки веб-страниц?

У меня есть веб-страница, на которой я пытаюсь не прокручивать, а заполнять любое представление пользователя рекламой слева и в конце и картой Google, заполняющей большую часть страницы. На данный момент My CSS для карты и рекламного блока выглядит так:

.side-col{
        width: 25%;
        float: left;
      }

      .map-col{
        width: 75%;
        float: right;
        padding-left: 20px;
      }
      @media(max-width: 991px){
        .side-col{
          width: 30%;
          float: left;
        }

        .map-col{
          width: 70%;
          float: right;
        }
      }

Я провел небольшое исследование и кое-что прочитал о vh и vw.

Но когда я изменил свой код с использования процента для ширины на использование vw и добавление vh для заполнения 100% высоты, он просто поместил мой рекламный блок странно ниже моего блока карты.

Вы можете найти весь мой файл CSS здесь на веб-странице.

Конечная цель, к которой я стремлюсь, — это рекламный баннер с левой стороны, а остальная часть пространства заполнена картой Google на рабочем столе. На мобильном телефоне небольшой рекламный баннер внизу с остальной картой Google. Прокрутки тоже нет.

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
0
576
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Сохраняйте ширину в процентах и ​​используйте vh для высоты. Также используйте display: inline-block вместо float, гораздо лучше для макетов.

.side-col{
  width: 25%;
  height: 100vh;
  vertical-align: top;
  display: inline-block;
}

.map-col{
  width: 75%;
  height: 100vh;
  vertical-align: top;
  display: inline-block;
}

если они все еще не помещаются в одну и ту же строку, то вокруг карты могут быть некоторые поля по умолчанию, которые занимают дополнительное место. Вы можете использовать функцию calc(), чтобы уменьшить ширину в % с шагом в пикселях.

Например, если вы хотите, чтобы отступ слева от 20px на карте, то:

width: calc(75% - 20px)

встроенный блок заставляет боковую панель и карту отображаться вместе друг с другом, это довольно фундаментальный css Learnlayout.com/inline-block.html

Pixelomo 09.04.2019 02:58

Спасибо за быстрый ответ. Я только что попробовал правки, и вы видите: seekadventure.net/adventureMap.html Он просто переместил добавление ниже и заставил карту двигаться влево.

searayman 09.04.2019 03:00

глядя на этот сайт, вы все еще используете поплавки

Pixelomo 09.04.2019 04:09

Извините, живой сайт, все еще играю с ним между комментариями. Я оставил его, пока не закончил ужинать...

searayman 09.04.2019 04:10

Попробуйте использовать display: grid; в родительском элементе.

.parent-element {
    display: grid;
    grid-template-columns: 30vw 1fr;
    grid-template-rows: 100vh;
    justify-items: center;
    align-items: center;
}

Старайтесь использовать floats как можно меньше. Использование сетки в css поможет сделать ваш код коротким и в то же время эффективным.

Посетите https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout, чтобы узнать больше о макете сетки CSS.

Другие вопросы по теме