使用cssutils Python模块时,[dir=rtl]解析样式表出错

1 投票
1 回答
683 浏览
提问于 2025-04-16 06:58

我正在用cssutils这个Python模块解析一个CSS样式表。当解析到"[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 个回答

3

这可能会稍微慢一些,不过

*[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;
}

应该是可以用的。显然,如果可能的话,把*换成带有这个属性的元素。

撰写回答