Показано с 1 по 10 из 10

Тема: Фикс DIVa на середине экрана +50px.

  1. #1

    Регистрация
    07.12.2007
    Адрес
    GMT+10:00
    Сообщений
    11
    Подскажите пожалуйста почему этот код не работает? Див прилип к левой стороне и не хочет отрываться. В частности 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

  2. #2

    Регистрация
    26.10.2007
    Адрес
    ekb
    Сообщений
    9
    Насколько мне известно, экспрешн в Опере работать не должен
    И еще смутило название класса с "фрейм". Используете оные в данном случае?

  3. #3

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Он и не будет отрываться, потому что Опера не понимает конструкции expression в принципе, а IE не понимает конструкции expression с синтаксическими ошибками и мистическим содержимым...

  4. #4

    Регистрация
    07.12.2007
    Адрес
    GMT+10:00
    Сообщений
    11
    Originally posted by Aykroyd@Jan 9 2008, 05:28
    Он и не будет отрываться, потому что Опера не понимает конструкции expression в принципе, а IE не понимает конструкции expression с синтаксическими ошибками и мистическим содержимым...
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/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).

    Заранее спасибо)

  5. #5

    Регистрация
    26.10.2007
    Адрес
    ekb
    Сообщений
    9
    если я Вас правильно понял, то рекомендую почитать вот это:

    cssing.org.ua/2007/04/26/another-css-valign-method/

    и, возможно, вот это:

    [Только зарегистрированные пользователи могут видеть ссылки. ]

  6. #6

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Во-первых, необходимо понять, что любой expression – это зло, которое должно применяться только в самых крайних, исключительных случаях. В частности, тогда, когда без него действительно никак нельзя обойтись.

    Код:
    .fr-info {width: 700px; height: 400px; margin-left: -350px; position: absolute; left: 50%; z-index: 10;}
    И это будет работать во всех браузерах без всяких expression.
    Что касается выравнивания по вертикали – Вам уже дали хорошую ссылку.

  7. #7

    Регистрация
    07.12.2007
    Адрес
    GMT+10:00
    Сообщений
    11
    Спасибо Aykroyd и connor за информацию - пошла на пользу.

    Все как вы Aykroyd и сказали работает во всех браузерах. .)

    Возникло продолжение истории.

    Заказчик хочет определенного рода информацию разместить в браузере на середине экрана. Поверх информации одеть ажурную рамку, которая бы закрывала частично текст. Вензельки и т.д.


    В IE с помощью expression&#39;s оба DIVa (с рамкой и инфой) удалось свести на ура в середину экрана.

    В Опере же происходит интересная вещь - если загнать в поток DIV и сказать ему {display:table-cell; vertical-align:middle;} то внутренний DIV можно спозиционировать по центру, но. Есть большое но - один мы спозиционировали за счет потока, а второй так не получится ибо ему остается только абсолютное. А как с помощью него сделать vertical-align:middle никто не знает =)

    Допустим если отказаться от дивов и подвесить в середину таблицу - то как вывести в нее текст и натянуть сверху полупрозрачный png?
    Тоже большой вопрос. Можно фоном кинуть в ячейке, но чтобы сверху - это уже задача посложнее. Мне кажется это нереально.

  8. #8

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Никаких таблиц, никаких table-cell...
    Просто позиционируйте всё абсолютно...

    Код:
    .fr-info {width: 700px; height: 400px; margin: -200px 0px 0px -350px; position: absolute; top: 50%; left: 50%; z-index: 10;}

  9. #9

    Регистрация
    07.12.2007
    Адрес
    GMT+10:00
    Сообщений
    11
    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'>[Только зарегистрированные пользователи могут видеть ссылки. ]</div>
    Спасибо за сэмпл.
    Любой браузер это должен переварить? Я проверял у меня почему-то не пошло. Пришлось изменить задачу и найти другой выход из положения.

  10. #10

    Регистрация
    15.11.2006
    Адрес
    Тольятти
    Сообщений
    2,698
    Эта простейшая конструкция работает в любом браузере.
    Видимо, где-то допустили ошибку...

Похожие темы

  1. Фикс резина по высоте странице с прокруткой
    от fenixnt в разделе Вёрстка сайта
    Ответов: 6
    Последнее сообщение: 09.01.2008, 15:13
  2. Размер экрана.
    от tomorrow в разделе Вёрстка сайта
    Ответов: 13
    Последнее сообщение: 26.11.2007, 13:56
  3. 100% по высоте экрана
    от Andrulez-z-z в разделе Вёрстка сайта
    Ответов: 6
    Последнее сообщение: 17.07.2007, 00:46
  4. DIV за пределы экрана
    от .ruslan в разделе Вёрстка сайта
    Ответов: 10
    Последнее сообщение: 28.04.2006, 19:37
  5. разрещение экрана
    от asat в разделе Вёрстка сайта
    Ответов: 14
    Последнее сообщение: 23.12.2005, 16:05

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •