Заметки веб-мастера » Баги IE / Виртуално-реальная жизнь Sat, 13 Mar 2010 06:18:14 +0000 en hourly 1 http://wordpress.org/?v=3.0.3 Рисование тонкой линии /virtual/bagi-ie/risovanie-tonkoj-linii/ /virtual/bagi-ie/risovanie-tonkoj-linii/#comments Sun, 25 Oct 2009 16:16:51 +0000 Virus /?p=578 Суть задачи такова: нарисовать на сайте тонкую линию. Решается она  минимум 2 методами:

  1. Использование однопиксельного изображения размноженного в нужном направлении.
  2. Использование div’a, заполненного цветом.

Как раз во втором методе и скрываются разногласия между браузерами.

Итак, объясню на примере.

Допустим мы рисуем полосу div’ами и задаем ей следующие css-свойства:

div {
width:50px;
height:1px;
background-color:#ff0000;
}

Mozilla, Opera и другие браузеры будут выдавать следующий результат:

линия в Mozilla, Opera и др.

а вот IE выдаст толстую полосу:

линия в IE

Суть этого «бага» заключается в том, что IE по умолчанию выставляет ширину блока под размер шрифта (по моим наблюдениям 14px), т.е. для того что бы Internet Explorer нормально отображал однопиксельную полоску, необходимо в css-свойства блока добавить font-size:1px;

P.S. Еще интересуют дома в Болгарии, но походу до них мну ооочень далеко )

]]>
/virtual/bagi-ie/risovanie-tonkoj-linii/feed/ 1
Очередной глюк от IE /virtual/bagi-ie/ocherednoj-glyuk-ot-ie/ /virtual/bagi-ie/ocherednoj-glyuk-ot-ie/#comments Sat, 12 Sep 2009 16:28:43 +0000 Virus /?p=494 Ни для кого не секрет, что браузер Internet Explorer  от всеми любимой компании Microsoft работает с кодом не так как все остальные браузеры. Уж не знаю с чем это связанно, может компания решила выделиться из большинства, но как всегда не смогли что-то сделать без глюков.

В рамках рубрики «Баги IE» я хотел бы освещать все проблемы, на которые я нашел или не нашел решения при разработке проектов. Знаю, что многие баги освещены в сети, но уверен, что далеко не все :)

Начну с косяка с обработкой javascript, который нашел, отлаживая свой новый проект «Психологические тесты».

Пример кода:

if ((!radio[0].checked) && (!radio[1].checked)) { alert(‘Сообщение’); }

Суть проблемы:

У меня есть несколько элементов radio (для выбора ответа в тесте), и если хотя бы одно значение не выбрано то выдается сообщение. В IE если выбрать последний элемент, то сообщение все равно выскочит.

Решение проблемы:

На сколько понял я – IE считает массив элементов не с 0 элемента, а с первого, т.е. будет верным для этого браузера следующий код:

if ((!radio[1].checked) && (!radio[2].checked)) { alert(‘Сообщение’); }

А вообще все больше склоняюсь к тому, чтобы запретить доступ с IE, жаль, что большинство пользователей так не думают.

]]>
/virtual/bagi-ie/ocherednoj-glyuk-ot-ie/feed/ 0