Ошибка разбора таблицы стилей для [dir=rtl] при использовании модуля Python cssutils

Я анализирую таблицу стилей CSS с помощью модуля Python cssutils. Парсер выдает ошибку при достижении селектора "[dir = ltr] div.row div.label".

Я хотел бы найти способ изменить CSS, чтобы сделать синтаксический анализатор счастливым и поддерживать ту же функциональность.

Что было бы стандартным способом для этого:

div.row div.label {
 float: left;
 width: 18%;
 text-align: right;
}
div.row div.formw {
 width: 80%;
}
[dir=ltr] div.row div.label, [dir=rtl] div.row div.formw {
 float: left;
 text-align: right;
}
[dir=rtl] div.row div.label, [dir=ltr] div.row div.formw {
 float: right;
 text-align: left;
}

Примечание: "dir" используется для управления направлением текста для таких языков, как иврит или арабский.

http://www.unics.uni-hannover.de/nhtcapri/bidirectional-text.html

1 ответ

Решение

Это немного медленнее, но

*[dir=ltr] div.row div.label, *[dir=rtl] div.row div.formw {
 float: left;
 text-align: right;
}
*[dir=rtl] div.row div.label, *[dir=ltr] div.row div.formw {
 float: right;
 text-align: left;
}

должно сработать. Очевидно изменить * с элементом с этим атрибутом, если это возможно

Другие вопросы по тегам