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

Мне трудно получить высоту более низкого разрешения экрана, потому что мое разрешение экрана составляет 1920x1080.

Кто-нибудь знает, как получить высоту и ширину разрешения экрана?

Я проверил свою работу на разрешении 1024x768, и все было испорчено.

Ответ 1

Невозможно получить высоту экрана из CSS. Однако, используя CSS3, вы можете использовать медиазапросы для управления отображением шаблона в соответствии с разрешением.

Если вы хотите кодировать на основе высоты с помощью медиа-запросов, вы можете определить таблицу стилей и назвать ее следующим образом.

<link rel="stylesheet" media="screen and (device-height: 600px)" />

Ответ 2

Вы можете использовать длину в процентах в окне просмотра.

Смотрите: http://stanhub.com/how-to-make-div-element-100-height-of-browser-window-using-css-only/

Он работает следующим образом:

.element{
    height: 100vh; /* For 100% screen height */
    width:  100vw; /* For 100% screen width */
}

Дополнительная информация также доступна через Сеть разработчиков Mozilla и W3C.

Ответ 3

На самом деле вам не нужно разрешение экрана, и вам нужны размеры браузера, потому что во многих случаях браузер окончен, и даже в максимальном размере браузер не будет принимать 100% экрана.

то, что вы хотите, это View-port-height и View-port-width:

<div style="height: 50vh;width: 25vw"></div>

это даст div с 50% внутренней высоты браузера и 25% его ширины.

(честно говоря, этот ответ был частью того, что хотел сказать @Hendrik_Eichler, но он только дал ссылку и не обратился к проблеме напрямую)

Ответ 4

В дополнение к @Hendrik Eichler Answer n vh использует n% исходного блока просмотра окна просмотра.

.element{
    height: 50vh; /* Would mean 50% of Viewport height */
    width:  75vw; /* Would mean 75% of Viewport width*/
}

Кроме того, высота окна просмотра предназначена для устройств любого разрешения, высота порта просмотра, ширина - один из лучших способов (аналогично дизайну CSS, использующему значения%, но основывающемуся на высоте и ширине порта представления устройства)

В.Х.
Равно 1% от высоты исходного окна просмотра, содержащего блок.

оч.сл.
Равно 1% от ширины исходного окна просмотра, содержащего блок.

VI
Равно 1% от размера исходного содержащего блока в направлении оси корневых элементов.

В.Б
Равно 1% от размера исходного содержащего блока в направлении оси блока корневых элементов.

Vmin
Равно меньшему из vw и vh.

Vmax
Равно большему из vw и vh.

Ref:https://developer.mozilla.org/en-US/docs/Web/CSS/length#Viewport-percentage_lengths

Ответ 5

Вы можете привязать текущую высоту и ширину экрана к переменным CSS: var(--screen-x) и var(--screen-y) с помощью этого JavaScript:

var root = document.documentElement;

document.addEventListener('resize', () => {
  root.style.setProperty('--screen-x', window.screenX)
  root.style.setProperty('--screen-y', window.screenY)
})

Это было напрямую адаптировано из примера Ле Веру в ее выступлении по переменным CSS здесь: https://leaverou.github.io/css-variables/#slide31

Ответ 6

Вы можете легко получить высоту окна в чистом CSS, используя единицы "vh", каждый из которых соответствует 1% высоты окна. В приведенном ниже примере давайте начнем централизовать block.foo, добавив половину поля в крайнем размере экрана.

.foo{
    margin-top: 50vh;
}

Но это работает только для размера окна. С помощью javascript вы можете сделать его более универсальным.

$(':root').css("--windowHeight", $( window ).height() );

Этот код создаст переменную CSS с именем "--windowHeight", которая несет высоту окна. Чтобы использовать его, просто добавьте правило:

.foo{
    margin-top: calc( var(--windowHeight) / 2 );
}

И почему он более универсален, чем просто использовать единицы "vh"? Потому что вы можете получить высоту любого элемента. Теперь, если вы хотите централизовать block.foo в любом контейнере .bar, вы можете:

$(':root').css("--containerHeight", $( .bar ).height() );
$(':root').css("--blockHeight", $( .foo ).height() );

.foo{
    margin-top: calc( var(--containerHeight) / 2 - var(--blockHeight) / 2);
}

И, наконец, для ответа на изменения в размере окна вы можете использовать (в этом примере контейнер составляет 50% высоты окна):

$( window ).resize(function() {
    $(':root').css("--containerHeight", $( .bar ).height()*0.5 );
});

Ответ 8

Чтобы использовать разрешение экрана, используйте Javascript вместо CSS: Используйте screen.height для высоты и screen.width для ширины.

Ответ 9

Используйте высоту и ширину в процентах.

Например:

width: 80%;
height: 80%;