Вопрос по позиционированию
Вот что хочу получить:
![]() Где синяя рамка - экран, красная рамка - объект, например 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, время: 17:05. |