Фиксиране на IE бъгове чрез behavior
от Fuedo - Уеб дизайн енциклопедия
Behavior е свойството което позволява задаването на един или няколко линка разделени с интервал, сочещи към скрипт(.htc или .hta файлове) който се прикача към CSS селектор. Behavior позволява функционалността на елемента да бъде разширена. Също така спомага за разделяне на скрипта, от стиловете и съдържанието. Това свойство се разпознава само от IE, което позволява да се използва за поправка на многото недостатъци на браузъра(едва ли за това е бил въведен :-)).
Трябва да отбележа, че не се валидира, така че ако сте ограничени от спецификации може да имате проблем. Разбира се може да го изнесете, с условни коментари, в стилова таблица само за IE.
Стига толкова скучна теория :-) ето ги и бъговете които могат да се оправят и начините да се оправят.
Съдържание |
Hover ефект за всички елементи
Както знаем IE не прилага :hover псевдо класа на други елементи освен а(котва). Ако това се оправи могат да се правят всякакви интересни неща, падащи менюта, табчета и безброй други интересни неща. За да поправим това зло ще използваме behavior и този файл който е разработен от Петер Недерлоф. За да работи всичко добре, просто добавяте следния CSS:
body{
behavior: url("csshover.htc")
}
Искам да отбележа също така, че пътят който сочи към csshover.htc трябва да е или абслютен, или да се разглежда спрямо това къде се намира HTML-a, а не CSS-a. Ако изнесете стиловете си в папка /styles а сложите csshover.htc при своя index.html то тогава пътят който трябва да посочите в CSS-a не трябва да бъде url("../csshover.htc"), a url("csshover.htc"). Малко е сложно затова по добре да ползвате пълен път (Например: http://vashiqtsite.com/csshover.htc).
Работещо position:fixed
Свойството position:fixed не работи в IE6 и по долни версии. За да се оправи това ви трябва този файл. Прочетете горната секция, за да разберете как да го ползвате.
PNG Прозрачност
Този behavior позволява поддръжката на прозрачност за PNG снимките в IE5.5 и 6. За целта ви трябва този архив. Архивът съдържа два файла, blank.gif и pngbehavior.htc. За да работи скриптът, файлът blank.gif трябва да бъде в същата директория в която е страницата която го използва. В противен случай, ще се наложи да променяте скриптът pngbehavior.htc
За този изключителен скрипт ще благодарим на Ерик Арвидсън. Ето и оригиналната страница на скрипта
Поддръжка на тагa за цитат "Q"
Тагът <q> е предназначен за кратки инлайн цитати. Според спецификациите, тагът за цитат трябва да бъде изрисуван със съответните кавички около текстът и авторите не трябва да добавят допълнителни кавички. Въпреки възрастта на този таг той остава неподдържан в IE. Ето и съответният behavior скрипт който ни позволява да решим този проблем.
Трябва да благодарим за него на willCode4Beer.com. Ето я и оригиналната статия.
Забележка
Кавичките които се добавят към цитата са различни в зависимост от езика. Езика се определя от lang атрибута на най-близкият родител или от езика по подразбиране за документа. Кавичките в този скрипт са на английски и не вземат под внимание lang атрибута.
Min/Max-width и Height
Свойствата min-width, max-width, min-height и max-height са изключително полезни при изграждането на променливи по размер страници. За съжаление IE не поддържа тези свойства. Той дори погрешно разбира свойството width като го интерпретира като min-width. Отново извикваме на помощ behavior.
Скриптът който намерихе безплатен за лична употреба, но за съжаление за комерсиална употреба цената му е 20$. Разработчиците на скрипта са: youmos.com
Забележка 1
Когато използвате скрипта, при оразмеряване на прозореца IE влиза в някакъв безкраен цикъл от който "забива". Причината е в зададен margin или padding. Ако занулите стойностите няма да имате такива проблеми(Пр. margin:0;). Може да бъдете дори още по прецизни: ако използвате min/max width трябва да занулите само хоризонталните стойности на margin/padding (Пр. margin:10px 0;)
Забележка 2
Има и вариант за постигане на min-width без behavior или JavaScript. За повече информация прочетете тази статия(ен)

