CSS позиционирование с IE8 - выражения не поддерживаются - PullRequest
0 голосов
/ 29 сентября 2010

У меня есть следующий код:

<html>
<head>
<style type="text/css">
DIV#left
{
z-index: 100;
position:absolute;
left:0px;
top:0px;
width: 100px;
height: 100px;
background-color: #e7e7e7;
}
DIV#right
{
z-index: 100;
position:absolute;
left:100px;
top:0px;
width: 100px;
height: 100px;
background-color: #e20074;
}
</style>
</head>

<body>
<div id="left">
1
</div>
<div id="right">
2
</div>
</body>

</html>

Но мне нужно, чтобы правый раздел div был расширен до конца страницы (ширина = 100%) Итак, вот как я изменил ширину для DIV # справа:

width: expression(parseInt(document.body.offsetWidth)-100);

К сожалению, это больше не работает с IE! IE8 и firefox игнорируют выражения. Как я могу преодолеть эту проблему?

Заранее большое спасибо!

Ответы [ 2 ]

1 голос
/ 29 сентября 2010

Вы не должны использовать такие CSS-выражения - они медленные, старые и, самое главное, проприетарные, то есть они не будут работать ни с чем, кроме IE.

Вот простое решение, которое работает в Firefox, IE8 и IE7 [но не в IE6, хотя]: дайте право div a right: 0 заставить div развернуться до конца страницы :

#right {
    position: absolute;
    left: 100px;
    top: 0;
    right: 0;
    height: 100px;
}

См .: http://jsfiddle.net/hEeVY/

Если вы используете выражения для что-нибудь , вероятно, лучше использовать Javascript для достижения того же эффекта.

0 голосов
/ 08 февраля 2013

Да, CSS-выражения работают медленно, они влияют на производительность. Вместе с тем они идут на компромисс и с безопасностью. Решение, указанное И Цзянем, должно работать.

Теперь все браузеры будут работать на одинаковых условиях. Чтобы узнать больше о том, почему выражения были отброшены, пожалуйста, проверьте http://techbookshelf.blogspot.in/2012/11/css-expressions-in-ie8-and-higher.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...