Есть задача: растянуть апплет на всё окно браузера.
Сейчас сделано так: у апплета выставлены ширина и высота 100%.
Проблема: IE не ресайзит апплет если меняется ТОЛЬКО вертикальный размер окна
Поэтому вопрос: как можно узнать размер (высоту) клиентской области окна?
Здравствуйте, DSD, Вы писали:
DSD>Здравствуйте, SeLarin, Вы писали:
SL>>Еще то же самое надо сделать и для родителя body: html. DSD>это еще зачем?
100% для body будет вычисляться от размеров предка, и если не задать высоту для html, то о размерах предка (html) браузер ничего не знает, поэтому и вычислить размер body не может. Если задать 100% для html, то его высоту браузер уже вычислить может легко (он всегда знает размер окна) и уже дальше спокойно может вычислять все последующие размеры. Прочитал у Салагаева (в конце части «Раскладка»).
Здравствуйте, SeLarin, Вы писали:
SL>100% для body будет вычисляться от размеров предка, и если не задать высоту для html, то о размерах предка (html) браузер ничего не знает, поэтому и вычислить размер body не может. Если задать 100% для html, то его высоту браузер уже вычислить может легко (он всегда знает размер окна) и уже дальше спокойно может вычислять все последующие размеры. Прочитал у Салагаева (в конце части «Раскладка»).
Вообще-то это все очень странно. Ибо:
1. <HTML> не является визуальным элементом.
2. По DOM, родительским элементом для объекта body является объект document.
3. ни разу не видел, чтобы <body style="width:100%"... не работало или хоть как-нибудь глючило. ибо в визуальной иерархии родителем body и есть окно.
это все по крайней мере для IE(а ваш Салагаев предлагал эти трюки именно для него).
P.S.
В MSDN у тега HTML нет свойств width и height — ни прямых, ни в CSS-аттрибутах.
есть только набор: clientHeight, clientLeft, clientTop, clientWidth, scrollHeight, scrollLeft, scrollTop, scrollWidth.
да и то, с сомнительной полезностью...
Здравствуйте, DSD, Вы писали:
DSD>Вообще-то это все очень странно. Ибо:
Мда... Странная иерархия у IE (да и он сам, честно говоря…). Сейчас посмотрел в IE7 body имеет постоянные размеры независимо от указания для body height и width. Вот в таком коде текст, как оказалось, не переносится в IE (и переносится в Opera 9 и Firefox 2). В IE также не видно границы, заданной для html (ибо невизуальный!) и естественно, высоту менять там нечему…
<html>
<head>
<style type="text/css">
html {border: 1px solid blue; height: 85%; width: 95%}
body {border: 1px solid red; margin: 0; padding: 0; width: 20%; height: 100%}
</style>
</head>
<body>
<p>Just a test! Just a test! Just a test! Just a test! Just a test! Just a test!
Just a test! Just a test! Just a test! Just a test! Just a test! Just a test! Just a test!
Just a test! Just a test! Just a test! Just a test! Just a test! Just a test! Just a test!
Just a test! Just a test! Just a test! Just a test! Just a test! Just a test! Just a test!
Just a test! Just a test! Just a test! Just a test! Just a test! Just a test! Just a test!
Just a test! Just a test! Just a test! Just a test! Just a test! Just a test! Just a test!
Just a test! Just a test! Just a test! Just a test! Just a test! Just a test! Just a test!
Just a test! </p>
</body>
</html>
Параллельно оказалось, что если не указать высоту для html, то высота для боди рассчитается нормально, так что height: 100% действительно необязателен.
DSD>это все по крайней мере для IE(а ваш Салагаев предлагал эти трюки именно для него).
Вот как раз html {height: 100%} предлагался не только для IE. Для IE предлагалось много других трюков…
Но я думаю к вопросу о высоте окна в IE всё это уже не имеет никакого отношения…
Re[8]: Как определить размер окна в IE
От:
Аноним
Дата:
03.10.07 17:03
Оценка:
Здравствуйте, DSD, Вы писали:
DSD>3. ни разу не видел, чтобы <body style="width:100%"... не работало или хоть как-нибудь глючило. ибо в визуальной иерархии родителем body и есть окно.
Я видел — не работало height: 100% в Opera (то ли 7, то ли 8) без указания стиля для элемента html в css. (width: 100% — работало)