Просто войдите в свойство высоты элемента управления (из коробки) в пикселях. Вычислите отношение этой ширины, разделенное на ширину его контейнера на странице, и произведите это число в процентах.
Например:
(myControl.height/myPanel.height)/100 + "%";
Однако, это не способ создать веб-страницу, чтобы играть красиво в браузерах разного размера. В зависимости от того, какой тип управления вы используете, это может стать настоящим беспорядочным, и я просто говорю об этом здесь. Используйте фиксированную ширину для этого и вашего контейнера. Постепенно улучшайте свой сайт с помощью CSS и JS, если вам нужно.
С риском получения жареных я собираюсь сказать следующее: НИКОГДА не используйте жидкие макеты - они меняют соотношение макета и разрушают состав страницы. Использование жидкостных макетов всегда заканчивается тем, что вам необходимо применить код для изменения соотношения изображения/высоты ваших изображений по отношению к их контейнеру - и это всегда приводит к потере качества изображения и/или плохой композиции страницы.
Веб-сервер не знает, что такое разрешение клиентов. Я не думаю, что это возможно из-за какого-то ужасного взлома javascript. – fearofawhackplanet
@fearofawhackplanet, вы можете легко сделать это с помощью прогрессивных методов совершенствования: http://html5boilerplate.com/ Я также рекомендовал бы эту книгу для http://amzn.to/eXHapo – IrishChieftain