-
Подскажите пожалуйста почему этот код не работает? Див прилип к левой стороне и не хочет отрываться. В частности Opera и IE.
css
Код:
.frame-info { width:700px; height:400px; position:absolute; background: #535353 fixed no-repeat; z-index: 10;
left: expression( document.documentElement.clientWidth/2-350<0 ? "50px" : eval( 50 + document.documentElement.clientWidth + "px"); ); }
html
-
Насколько мне известно, экспрешн в Опере работать не должен [Only registered and activated users can see links. Click Here To Register...]
И еще смутило название класса с "фрейм". Используете оные в данном случае? [Only registered and activated users can see links. Click Here To Register...]
-
Он и не будет отрываться, потому что Опера не понимает конструкции expression в принципе, а IE не понимает конструкции expression с синтаксическими ошибками и мистическим содержимым...
-
Цитата:
Originally posted by Aykroyd@Jan 9 2008, 05:28
Он и не будет отрываться, потому что Опера не понимает конструкции expression в принципе, а IE не понимает конструкции expression с синтаксическими ошибками и мистическим содержимым...
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
[/quote]
Есть задача - подвесить div известноо размера в середину экрана по вертикали и по горизонтали.
1. Переименовал название стилей.
2. Нижеприведенный блок по горизонтали в середину позиционируется в IE.
Код:
.fr-info { position:absolute; background:#535353 fixed no-repeat; width:700px; height:400px; z-index:10; margin-left:expression((document.body.offsetWidth-700)/2+"px");
Просьба - подскажите как загнать его в середину по вертикали?
А вот насчет оперы - отдельный css файл, но с ним тоже самое (незнаю как позиционировать в центр злополучный div).
Заранее спасибо)
-
если я Вас правильно понял, то рекомендую почитать вот это:
cssing.org.ua/2007/04/26/another-css-valign-method/
и, возможно, вот это:
[Only registered and activated users can see links. Click Here To Register...]
-
Во-первых, необходимо понять, что любой expression – это зло, которое должно применяться только в самых крайних, исключительных случаях. В частности, тогда, когда без него действительно никак нельзя обойтись.
Код:
.fr-info {width: 700px; height: 400px; margin-left: -350px; position: absolute; left: 50%; z-index: 10;}
И это будет работать во всех браузерах без всяких expression.
Что касается выравнивания по вертикали – Вам уже дали хорошую ссылку.
-
Спасибо Aykroyd и connor за информацию - пошла на пользу.
Все как вы Aykroyd и сказали работает во всех браузерах. .)
Возникло продолжение истории.
Заказчик хочет определенного рода информацию разместить в браузере на середине экрана. Поверх информации одеть ажурную рамку, которая бы закрывала частично текст. Вензельки и т.д.
В IE с помощью expression's оба DIVa (с рамкой и инфой) удалось свести на ура в середину экрана.
В Опере же происходит интересная вещь - если загнать в поток DIV и сказать ему {display:table-cell; vertical-align:middle;} то внутренний DIV можно спозиционировать по центру, но. Есть большое но - один мы спозиционировали за счет потока, а второй так не получится ибо ему остается только абсолютное. А как с помощью него сделать vertical-align:middle никто не знает =)
Допустим если отказаться от дивов и подвесить в середину таблицу - то как вывести в нее текст и натянуть сверху полупрозрачный png?
Тоже большой вопрос. Можно фоном кинуть в ячейке, но чтобы сверху - это уже задача посложнее. Мне кажется это нереально.
-
Никаких таблиц, никаких table-cell...
Просто позиционируйте всё абсолютно...
Код:
.fr-info {width: 700px; height: 400px; margin: -200px 0px 0px -350px; position: absolute; top: 50%; left: 50%; z-index: 10;}
-
Цитата:
Originally posted by Aykroyd@Jan 10 2008, 06:02
Никаких таблиц, никаких table-cell...
Просто позиционируйте всё абсолютно...
Код:
.fr-info {width: 700px; height: 400px; margin: -200px 0px 0px -350px; position: absolute; top: 50%; left: 50%; z-index: 10;}
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]</div>
Спасибо за сэмпл.
Любой браузер это должен переварить? Я проверял у меня почему-то не пошло. Пришлось изменить задачу и найти другой выход из положения.
-
Эта простейшая конструкция работает в любом браузере.
Видимо, где-то допустили ошибку...