вторник, 4 марта 2014 г.

Про css свойство display

Только что столкнулся с не очевидной, по крайней мере для меня, особенностью интерпретации свойства display разными браузерами. Нужно было мне сделать табличку со сворачиваемыми рядами. Вот, типа такую (это скриншот с Internet Explorer):


Отображение и скрытие рядов делается в частности вот такой нехитрой конструкцией:

    
  $(this).css('display', 'none');

или

  $(this).css('display', 'block');

В результате чего в Chrome получалось вот такая фигня:

В общем, я около часа потратил на поиски проблемы. А в итоге решил заглянуть в документацию. Оказалось, что в случае, если я убираю или добавляю ряд таблицы, то, согласно новым спецификациям, нужно писать:
    
  $(this).css('display', 'table-row');

С таким стилем во всех браузерах все отображается одинаково правильно.

Комментариев нет:

Отправить комментарий