TA的每日心情 | 开心 2023-4-4 20:46 |
---|
签到天数: 337 天 [LV.8]以坛为家I
|
发表于 2019-12-27 00:35:59
|
显示全部楼层
本帖最后由 独行者 于 2019-12-27 00:41 编辑
* g% T( N$ w; @% R# c1 ?" C' J# N1 S* L, t Y" U3 \" I$ F
这个问题我在帖子 https://www.pdawiki.com/forum/thread-35617-1-1.html 关于欧路词典的缺点中提过,此问题同时存在于 PC 端和手机端,为了区分不同词典的 CSS 选择器,欧路词典采用的是和 GoldenDict 一样的思路,就是给每个词典的 html 加上随机生成的 ID 做为唯一的 id 选择器前缀,但问题是欧路词典在解析 CSS 时存在缺陷,比如遇到 @charset "utf-8"; 欧路词典就会解析出错,导致生成了非预期的 CSS 文件。例如4 @; d8 y9 d% j/ ~0 v. X
) q- _% _% [! M原始的 CSS 是* {' f. ?8 | w- g" t1 ^/ h% H1 O
- @charset "utf-8";
7 s. J* X8 K4 X' A -
- _0 X, Y7 Y# |0 B( S - body {
' [. ?' m3 ~% z - margin: 2em;% V1 [! [+ U8 t9 E6 q
- }
4 r/ K0 A- C7 T( `- U% B -
* C& F1 y) J* U3 Y. y/ r6 x - a:hover {
/ R b8 |( w2 O! k. i; I6 o$ E0 ]* H - color: #4372b6;! `9 i6 M4 t {0 ~! z! w6 M0 U
- text-decoration: underline) e2 A. M" _* B
- }
复制代码
( D: {( z/ D; m3 f
( q( V) R; L1 X9 L: [$ X* |# ]& a9 r欧路词典会将其转换成
4 \; v6 ?) K3 q \) S8 q, K' C- @charset "utf-8";
0 U" w- {0 d. c7 c8 U% j
1 Q% o; P4 u2 ?8 Z: B- body{' i+ w6 Y" ^0 h: d; \ M% ]% _
- margin: 2em;
- ^* \+ m' S1 K! H; m' j$ } - } 5 |9 l" h6 F% j& F T
+ U1 x# |9 n) q7 `) e3 F- #ID224342347child a:hover {
& b- b# Y" A, n - color: #4372b6;
: @. i( r! u1 q+ m5 l - text-decoration: underline* q& _) X8 o+ ?1 \6 {$ [7 A. z, V
- }
复制代码 ! `, X! |! C% W J
由于 body 前面没有加上 #ID224342347child,此 CSS 文件会影响到全局的 body 标签,进而影响所有词典的样式。
$ A! L3 e# F; W. H. d! S% e4 d$ P6 }2 h, K, g8 A8 U- i
而 GoldenDict 就无此问题. {: e9 v* g! w0 M4 A7 y* v
- @charset "utf-8"; " w; O. G" ]& n, f5 D" D
- 9 G0 l2 L7 t4 F7 C
- #gdfrom-2af74dded57c0b4bf1a2e7c76ade8787 .mdict body {
# J$ X1 G$ |$ r - margin: 2em;" W Q! I6 `4 p* v9 y
- }) a5 t) |1 k5 F2 b
5 J$ C7 g# N$ d' z) T- #gdfrom-2af74dded57c0b4bf1a2e7c76ade8787 .mdict a:hover {
9 X( r$ f7 h/ i; Z3 H/ E& X - color: #4372b6;
V) g) T: N8 D' t - text-decoration: underline
6 J4 j0 ~( H2 y' j* s6 Y - }
复制代码 9 Y2 @+ D* r; D- z/ E2 l' h
: k* @& l* u, e7 R. m, j" ], [, W+ n
尽管我半年前就反馈过此问题,但按照欧陆词典官方一贯的尿性,对于反馈的BUG或建议基本是置若罔闻。5 A- X+ i/ }8 D/ g9 J+ J0 }
因此如果对于加入了 @charset "utf-8"; 的 CSS 文件最好将这一句都删除,避免欧路词典解析出错。
. d, ~( O- I5 T& N: Y% o- X& a1 L7 a$ s
|
|