Вопрос по позиционированию
Вот что хочу получить:
![]() Где синяя рамка - экран, красная рамка - объект, например div. Как прописать правильно позицию дива чтобы он во всех основных браузерах (ИЕ от 6, Опера, FF) был на такой позиции: у правого края блока шириной 1000 который находится посередине экрана(отмечен пунктиром). Сложность в том, что этого блока в 1000 быть не должно. надо как то через скрипт прописать позиционирование, если возможно, через css, в чем я сомневаюсь. Как я понимаю left у дива должен быть: left=(ширина экрана/2)+200 это если ширина экрана более 1000 если меньше то лефт=700. Если это единственный вариант, то профы, подскажите как НАИБОЛЕЕ корректно это написать. Завтра просто с утра сайт сдавать надо. Времени на собственные ошибки нет. |
<html> <head> <style> .D1 { position: relative; width: 300px; background: red; margin-left: 50%; left: 200px; height: 100%; } </style> </head> <body> <div class="D1"></div> </body> </html> |
ZoNT,
Это не удовлетворяет условию Цитата:
greatilya, а почему не должно быть блока в 1000px? С ним все просто. Центрируете его и к правому краю прилепляете абсолютно позиционированный блок. UPD: или просто float: right; |
да, про лефт=700 недочитал. Тогда мой способ не покатит...
|
Товарищи, вы уже для меня почти друзья, в смысле имена (ники) уже Ваши запомнил. Посмотрите плиз сайт там пример того что нужно исправить http://www.ampri.ru/test.php. плиз. очень жду, чесно. Там не работают ссылки справа. т.к. слой с z-index=-1 а надо сделать 1, но тогда меню будет неактивное.
Вношу поправку: высоту 100% делать не нужно) это я на картинке просто не учел( |
А margin-left: 50% + 200px не прокатит??? )))) если только через скрипт)))
просто я когдато уже обжогся несколько раз по поводу позиционирования объектов через скрипты... в разных браузерах бывали неточности... |
Как-то так
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <style type="text/css">html, body { margin: 0; padding: 0; }</style> </head> <body onresize="test()" onload="test()"> <div id="test" style="position: absolute; width: 300px; background-color: green; height: 100%;"></div> <script type="text/javascript"> function test() { var e = document.getElementById('test'); e.style.left = Math.floor(Math.max(document.body.clientWidth, 1000) / 2 + 200) + 'px'; } test(); </script> </body> </html> |
спасибо, то что нужно! человек спас жизнь человеку!)
|
Ой ) там +200 а не +300
|
да это уже мелочи, я заметил)
УРА!!! работает!!! |
Часовой пояс GMT +3, время: 05:33. |