offsetWidth ie
<div id="rrr"></div> <img src="images/test.png" id="iii" /> <script type="text/javascript"> var im = new Image(); im.src = 'images/test.png'; document.getElementById('rrr').insertBefore(im, null); alert(im.offsetWidth); // 105 ? alert(document.getElementById('iii').offsetWidth); // 100 </script> если элемент создается динамически в ie offsetWidth показывает больше чем надо( ширина 100 а он показывает 105 |
Определять размеры изображени нужно после их загрузки (img.onload). Обработчик события должен быть назначен до того, как элемент будет добавлен в документ.
|
все происходит после загрузки, и onload и complete проверяется, все загружено) только вот значения свойства в ие больше, я вот хотел спросить есть ли такая проблема ie неправильно определять размеры? как это побороть, может с форматом png не дружит...
|
експлореру png изображение не нравиться, другие нормально показывает(
|
Цитата:
А все margin, padding и border в CSS сбросили? |
вот попробовал потестить несколько десятков png изображений, в некоторых ie ставит на несколько px больше а в других меньше,
стили все убраны * {margin:0; padding:0; border:0; font-size:0; line-height:0;} |
Ну значит очередной фокус IE :)
|
Если не почистить png-рисунок с прозрачностью от дополнительной инфы, то в IE он может смотреться темнее, чем в других браузерах, может и здесь это поможет.
|
когда элемент создается через new Image, html код получается такой: <img src=""> а если документ с доктайпом надо правильно тег закрывать <img src="" /> и ie нормально показывает начинает offset, так что пропишу прям так)
|
а можно ссылку на страничку или прикрпеить к сообщению все нужные файлы? И какая версия ie? Потому что у меня в ie6, 8 работает.
|
Часовой пояс GMT +3, время: 13:40. |