Передо мной встала проблема создания css-меню в одной из двух колонок сделанных при помощи div. IE(6) ведет себя очень странно, а именно, при наведении курсора на пункт меню (сиреневый) внизу родительского блока появляется пробел... Для наглядности можно глянуть сюда: http://www.danilevsky.com/lab/2col/index.html (смотреть в IE(6)) Вот собственно код этой беды. Есть ли у кого соображения по этому поводу? Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>fucking IE</title> <style type="text/css"> .container { position: relative; width: 500px; margin: 20px auto 0 auto; padding: 5px; border: 1px solid #009900; overflow: hidden; } .left { position: relative; width: 200px; height: 200px; background-color: #CCFF99; float: left; } .right { position: relative; width: 295px; height: 200px; background-color: #336666; float: right; } a.menu { display: block; height: 20px; background-color: #6666CC; } a.menu:hover { background-color: #FF3399; } </style> </head> <body> <div class="container"> <div class="left"> <a class="menu" href="#"></a> </div> <div class="right"></div> </div> </body> </html>
Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled</title> <style type="text/css"> <!-- .container { width: 500px; height: 205px; padding: 5px; padding-top: 0 !important; margin: 0 auto; border: 1px solid #009900; } .left { margin-top: 5px; width: 200px; height: 200px; background-color: #CCFF99; float: left; } .right { margin-top: 5px; width: 295px; float: right; height: 200px; background-color: #336666; } .right { position: relative; width: 295px; height: 200px; background-color: #336666; float: right; } a.menu { display: block; height: 20px; background-color: #6666CC; } a.menu:hover { display: block; background-color: #FF3399; } --> </style> </head> <body> <div class="container"> <div class="left"><a href="#" class="menu"></a></div> <div class="right"></div> </div> </body> </html>
Так вот и не понятно: зачем ие делает перерасчет высоты дива при изменении цвета фона? И почему эта высота изменяется. Если бы изменялись параметры высоты-ширины, то можно списать на особенности работы ие. А тут налицо именно ошибка. PS. Кто-нибудь баг-репорт отправил?
Не знаю... Пользовался ими начиная с версии 5.0 - никаких проблем. Только вот не стоит одновременно с указанием размера их употреблять (т.е. padding-left b/или padding-right вместе с width и padding-top и/или padding-bottom вместе с height). Может, потому, что использую табличную верстку?