SASS использует высоту экрана для расчета оставшегося vh после заданного деления высоты

Итак, у меня на странице есть div, который независимо от размера устройства будет 209.53px. Я хотел бы иметь расчет, который может определить, какой процент экрана это покрывает. Таким образом, я могу установить карту/изображение, чтобы заполнить оставшуюся часть экрана.

Я пытался использовать высоту 80% и т. д., Но я просто не могу понять это правильно, есть ли способ в SASS/SCSS добиться этого?

Так что я бы пошел:

209.53/(SCREEN HEIGHT IN PIXELS) = PERCENTAGE COVERED
100 - PERCENTAGE COVERED = REMAINING VH

div{
    height: REMAINING VH;
}
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
1
0
4 800
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы устанавливаете top и bottom вашего элемента div, чтобы получить оставшуюся высоту экрана:

body {
  padding:0;margin:0;
}

#fixed {
  height: 209.53px;
  background-color:green;
  width:100%;
}

#remaining {
  position:absolute;
  top: 209.53px;
  width:100%;
  bottom:0;
  background-color:red;
}
<div id = "fixed">this has height 209.53px</div>
<div id = "remaining">this has height until screen bottom</div>

SASS является прекомпилятором, поэтому он не может помочь с расчетами высоты экрана.

Нашел другое решение, чтобы передать его через какой-то javascript. Это не сработало для меня

Lewis Smith 21.06.2019 17:19

Можно только CSS. Может быть, мой ответ был кратким. Я добавил фрагмент, вам нужно запустить его в полноэкранном режиме

dehart 21.06.2019 23:11
Ответ принят как подходящий

Вы не можете знать, какой процент vh представляет собой фиксированную высоту в css и, соответственно, в sass/scss, но вы можете оставить фиксированную высоту в 209,53 (я бы рекомендовал округлить это значение, так как css все равно сделает это) и использовать css вычисл. Тогда ваше изображение будет иметь следующую высоту:

height: calc(100vh - 209.53px);

Другим решением было бы использование абсолютной позиции и верхней границы поля. Или лучше используйте flex:

.parent {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100vh;

   .fixed-height-element {
        flex: 0 0 209.53px;    
    }

   .image {
        flex: 2;
    }
}

Мне очень нравится, в понедельник попробую

Lewis Smith 22.06.2019 20:41

Высота css работает отлично. Не знал, что можно использовать разные типы измерений. Ваше здоровье!

Lewis Smith 24.06.2019 10:30

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