Будучи обученным верстке by местный верстко-гуру, и теперь существуя в мире, который не поддерживает CSS3 – я заявляю — Я НЕНАВИЖУ IE!
Если более конкретно, я ненавижу:
IE6 - за то, что это вообще не браузер в принципе.
IE7 - за то, что это вообще не браузер в принципе.
IE8 - за то, что это вообще не браузер в принципе, но называется именно так почему-то.
Выучив за время работы в профессиональной верстке десяток css хаков, хитрых css выражений и прочего - думал, что моя жизнь более менее стабилизировалось. Но..
Ну вы понимаете, что я не спал в ночь, когда выпустили IE8 - потому что ждал, что завтра упадет верстка на абсолютном большинстве сайтов, с которыми я работал.
IE8 теперь не поддерживает выражений в CSS
Нет я не о матерных выражений, хотя свою верстку под IE я всегда обильно заправлял и ими.
Спасает меня теперь только одно - режим совместимости IE8 c IE7.
В этом режиме выражения работают. И все хаки под IE7 тоже.
Режим включается так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<!– вот оно! –>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>site.ru</title>
<meta name="description" content="site.ru" />
<meta name="keywords" content="site.ru" />
<meta name="author" content="killich дикий_пес мыло ru" />
Работают вещи типа:
ul.columns li{
*border-right: expression(this.nextSibling == null ? 'none' : '1px solid #CCC');
*padding: expression(this.nextSibling == null ? '0 0 0 15px' : '0 10px 0 0');
}
ul.columns li:last-child{
border-right:none !important;
padding:0 0 0 15px;
}
Психического вам здоровья, друзья мои!
ЗЫ:
кстати - не рассчитывайте что в режиме совместимости IE8 c IE7 осел ведет себя так же как IE7 – работает похоже, но движок все равно другой, а не тот что был в IE7.