Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   CSS Grid && IE (https://javascript.ru/forum/misc/76793-css-grid-ie.html)

laimas 14.02.2019 12:57

CSS Grid && IE
 
В родительский div выводятся DIV CSS Grid строки, как коллекция его набора. При этом display: grid имеет только первый DIV коллекции, а остальные скрыты - display: none. Раскрываются они сменой стиля с "none" на "grid".

Все нормально работает, кроме ослика. Определение в ослике

this.style.display = "ms-grid"

не работает, так и остается "none". Если способ скрыть/показать сетку в ослике?

Malleys 14.02.2019 14:21

Цитата:

Сообщение от laimas
this.style.display = "ms-grid"

Нужно this.style.display = "-ms-grid";, но лучше использовать атрибут hidden, он не затрагивает оригинальное значение display) Также нужно учитывать, что в IE11 используется старая спецификация (т. е. вместо grid-template-columns там было grid-columns (в IE11 оно реализовано как -ms-grid-columns) и т. д.) Такое преобразование можно совершить, например, при помощи autoprefixer

laimas 14.02.2019 14:52

Я знаю о старой спецификации, я же и пишу о ней. А вот о hidden я как-то не подумал, сейчас испробую.

PS. А нет, через атрибут будет довольно сложно. Дело в том, что вообще таких элементов на странице может быть 1000 с чем-то, и для них определена сортировка - внешняя по родительским блокам и внутренняя в родительских. Первый элемент в родительском блоке всегда видим, а остальные скрыты. Перемещение элементов в блоке при сортировке никак это правило не нарушает. А если через атрибут, то придется добавлять/удалять их, не хотелось бы все усложнять, и так накладно получается. Лучше к лешему ослика, не получится никак, пусть тогда в нем весь список будет раскрыт. :)

laimas 14.02.2019 17:09

Через стили родителя все получилось.


Часовой пояс GMT +3, время: 08:50.