2010-11-12 70 views
1

我正在用cssutils python模塊解析css樣式表。 解析器到達「[dir = ltr] div.row div.label」選擇器時發出錯誤。使用cssutils python模塊時,[dir = rtl]的樣式表解析錯誤

我想找到一種方法來修改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

回答

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

應該工作。顯然,如果可能的話,使用具有此屬性的元素更改*

+0

看來它現在可行。它現在解析它,不會忽略選擇器。謝謝! – vejeta 2010-11-15 13:54:32

+1

'[dir = ltr]'和'* [dir = ltr]'是相同的選擇器 - 唯一的性能缺點是增加了'*'字符,如果你單獨使用解析器,那麼沒有什麼值得擔心的關於。 – BoltClock 2013-11-21 14:00:08