2013-07-18 6 views
1

Я пытаюсь изменить положение навигационной панели в верхней части экрана в зависимости от ширины экрана. Я пробовал в CSS: top: 10%, но это зависит от высоты экрана, а не от ширины.Изменить верхнюю позицию на основе ширины%

Есть ли способ получить top: .1 * width?

+1

Что означает ширина 1 *? –

+1

опубликуйте какой-нибудь код или покажите jsfiddle. –

+0

вам нужно будет использовать javascript для этого – kennypu

ответ

1

Я собирался сказать, что нет способа сделать это, но, видимо, в CSS3 с 2011 года у вас есть , которые позволяют размеру относиться к окну просмотра. Например:

img { height: 95vw; } 

должно содержать изображения высотой 95% от ширины окна просмотра. Прочитайте больше; по-видимому, только IE9 поддерживал его на момент написания.

+0

как бы я вызывал это после того, как экран достигнет размера x, так же, как у меня минимальная ширина как #px, а затем ширина как%. – BDGapps

+0

Тогда вы захотите посмотреть на него медиа-запросы. – icedwater

3

Довольно часто упускают из виду, что процентные свойства элементов в вертикальном направлении относятся к их содержащему блоку width, а не только к горизонтальным.

Это означает, что если вы установили что-то в margin-top:10%;, оно будет иметь верхний запас, эквивалентный 10% от его ширины блока.

Вы можете легко видеть, что in this jsFiddle. Попробуйте изменить размер панели вывода по вертикали и горизонтали, и обратите внимание, какое изменение размера делает внутренний блок перемещающимся вверх и вниз.

Вы можете использовать vw и vh и если ваши цели браузера допускают, я бы рекомендовал. Но если вы не можете их использовать, вам не нужно сразу использовать Javascript. Слишком много людей пишут сразу для Javascript, когда он открывает совершенно новую банку червей (например, что, если браузер изменяет размер?), Особенно если немного творческого использования CSS может вытащить вас из липкого пятна в любом случае.

+0

Долгое время использовали процентные ставки по марже, и я понятия не имел, как они работают. Спасибо. –

Смежные вопросы