Тонкий css для internet explorer Павел Корнилов. Браузеры

25
Тонкий CSS для Internet Explorer Павел Корнилов

Upload: thalia-graddick

Post on 19-Jan-2016

260 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Тонкий CSS дляInternet Explorer

Павел Корнилов

Page 2: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Браузеры

Page 3: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Internet Explorer

Ошибки

Page 4: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

HTML

• <img alt=“alt”/>

• <label>Имя: <input/></label>

• PNG

Page 5: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

CSS

• :hover

• opacity

• inherit

• :first-child

Page 6: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Решения

• DHTML Behaviors

• expression

• Иногда верстать таблицами

Page 7: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

DHTML Behaviors

Подключение:behavior: url(behavior.htc);

Внутри:jScript или VBScript

Page 8: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Whatever:hover

body { behavior: url(hover.htc) }

Лечит::hover

:active

Page 9: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

IE PNG Fix

img, div { behavior: url(iepngfix.htc) }

Лечит альфа прозрачность у PNG:картинки

фон

Page 10: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Expression

.mydiv {

a: expression(alert(), b, c = 1);

}

Что это за конструкция?

Page 11: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Особенность

• Исполняется при каждом действии пользователя

• После каждого блока ставится запятая

• with(this), this - необязателен

Page 12: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

В ней работает

• Вызов функции

• Анонимные функции

• Присваивание переменной

• (true) ? 1 : 2

• комментарии // и /**/

• Конкатенация

Page 13: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Не работает

• Точка с запятой

• if … else

• Иногда, пробелы

Page 14: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

function expression() {

// колдовской код

}

Page 15: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Похоже?

Page 16: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Style

Три способа:

• style

• currentStyle

• runtimeStyle

Page 17: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Примеры

Вспомните JavaScript

Page 18: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

alt и title

img

{

behavior: expression(

(this.alt&&!this.title) ? this.title = '' : ''

)

}

Page 19: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

alt и title

img

{

behavior: expression(

(alt&&!title) ? title = '' : ''

)

}

Page 20: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

alt и title

img

{

behavior: expression(

(alt&&!title) ? title = '' : '', runtimeStyle.behavior = 'none'

)

}

Page 21: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

alt и title

img

{

behavior: expression(

runtimeStyle.behavior = 'none',

(alt&&!title) ? title = '' : ''

)

}

Page 22: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

alt и title

img

{

scrollbar-face-color: expression(

runtimeStyle.scrollbarFaceColor = '#fff',

(alt&&!title) ? title = '' : ''

)

}

Page 23: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

background и png

filter: expression(

(runtimeStyle.filter == '') ?runtimeStyle.filter =

'progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+currentStyle.backgroundImage.split('\"')[1]+', sizingMethod=crop)'

:

runtimeStyle.filter,

runtimeStyle.backgroundImage = 'none'

)

Page 24: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

IMG и PNG

filter: expression(

(runtimeStyle.filter==''&&className!='ie')?

(h = this.insertAdjacentHTML('afterEnd', '<span style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+src+',sizingMethod=scale);

zoom:1"><img width="'+width+'" height="'+height+'" src="'+src+'" alt="" style="visibility:hidden;display:block" class="ie"/></span>'), style.display = 'none‘)

:

'',

runtimeStyle.filter = 'none'

)

Page 25: Тонкий CSS для Internet Explorer Павел Корнилов. Браузеры

Павел

Корнилов http://lusever.livejournal.com/