Я установил высоту и ширину моего родительского div:
width:1060px;
height:650px;
Это дает мне представление о размерах в Chrome на моем ноутбуке 720, но когда я подключаю 1080 ТВ через HDMI, это слишком мало на экране. Интересно, есть ли способ изменить размер родительского div для сохранения того же расстояния, которое я получаю от верхнего/нижнего/правого/левого для отношения 16: 9.
Да, вам нужно каждый раз вызывать изменение размера в контейнере при изменении ориентации с помощью js, а затем вычислять пропорции вашей ширины ширины, а затем изменять размер вашего контейнера на экран. Затем увеличивайте высоту экрана * желаемый аспект, затем этот результат это ваша ширина, а затем проверьте, не ли ваша ширина не меньше ширины экрана, если это не так, если истина делает то же самое, но в обратном направлении, разделяя ширину экрана/желаемое соотношение сторон. наконец, центрируйте свой контейнер на экране с помощью js или css.
это идея, я знаю, работает, потому что я сделал это, вероятно, будет простой способ сделать то же самое.
Таким образом, вы можете создавать проценты внутри контейнера и всегда будут выглядеть одинаково в любых материалах, единственным изменением будет полоса ширины или высоты в зависимости от вашего соотношения сторон и характеристик вашего устройства, но она будет всегда самой большой возможный способ.
РЕДАКТИРОВАТЬ,
Это что-то типа;
var ratio = 1060/650;
$(window).on('resize', function() {
$('#container')
.css({width: screen.width + 'px', height: screen.width*ratio + 'px'});
if ($('#container').height() > screen.height) {
$('#container')
.css({width: screen.height/ratio + 'px',height: screen.height+'px'});
}
$('#container').css({left: (screen.width - $('#container').width()) / 2+'px',
top: (screen.height - $('#container').height()) / 2+'px'});
});
В jsfiddle не будет приятно, так как это использует экранную ширину (вы также можете использовать innerHeight, зависит от того, будете ли вы в полноэкранном режиме).
Не тестировал, но вот общая идея
Используйте CSS media Queries, чтобы указать стили для разных разрешений и размеров экрана. Ваш браузер будет выбирать соответствующий стиль в зависимости от размера порта просмотра.
Подробнее об этом читайте здесь → https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries
То, что вы хотите, - это отзывчивый дизайн. Чтобы изменить размер страницы, вы должны начать использовать проценты вместо фиксированной ширины.
Например, измените width:1060px;
до width:90%;
, Высота может оставаться неизменной, но если вы хотите, чтобы она стала выше, вы можете установить height:100%
и она настраивается в соответствии с содержанием на странице.
Кроме того, вместо использования px
для text-size
используйте em
. em
процентам для текста.
Вот отличный учебник, который очень помог мне с отзывчивым дизайном.