TA的每日心情 | 开心 2023-4-4 20:46 |
---|
签到天数: 337 天 [LV.8]以坛为家I
|
发表于 2019-12-27 00:35:59
|
显示全部楼层
本帖最后由 独行者 于 2019-12-27 00:41 编辑 / G9 V9 ?7 o& q) a
) f* D& Z% a) A
这个问题我在帖子 https://www.pdawiki.com/forum/thread-35617-1-1.html 关于欧路词典的缺点中提过,此问题同时存在于 PC 端和手机端,为了区分不同词典的 CSS 选择器,欧路词典采用的是和 GoldenDict 一样的思路,就是给每个词典的 html 加上随机生成的 ID 做为唯一的 id 选择器前缀,但问题是欧路词典在解析 CSS 时存在缺陷,比如遇到 @charset "utf-8"; 欧路词典就会解析出错,导致生成了非预期的 CSS 文件。例如 H8 p# d: A1 A& Z6 f6 S" u
4 P4 i4 x. j+ l4 b" p. v) ^原始的 CSS 是" s# B0 I" }9 S9 Y# _9 x
- @charset "utf-8";
6 ~5 Z' c u6 Y7 L - 9 O+ T3 q J3 b/ E5 R+ Y% j
- body {9 S2 A) ^+ \ a- S- y; A
- margin: 2em;; l9 `0 r; H) j$ E9 b
- }8 C7 `6 e: V+ V, A* Y/ r$ p
- X f+ x$ A& h
- a:hover {
6 Y0 j" q u8 |- \+ y; S& ? - color: #4372b6;
1 X' s2 K0 ]+ o7 I - text-decoration: underline: e1 \! U' s" K$ e( L
- }
复制代码
+ K" n& ~, D! Z+ n" s" u3 z0 i" b
/ {! b$ [4 T- m欧路词典会将其转换成
) x; |9 X: X3 I+ V l+ C+ b+ P- @charset "utf-8"; . M; `& J; l6 q6 S1 P3 i
- 1 V; `* E' K) U1 \/ Z: E! P5 k
- body{3 D. M4 f% c* [4 e c: V$ L
- margin: 2em;
2 z- s% f6 b* E4 h9 s - }
% ^- ]. b0 c/ x& e2 J' e' _ - " K7 V7 j L9 {9 }; ?
- #ID224342347child a:hover {/ U' s, a) I! e& }
- color: #4372b6;8 y7 j d, w: b& o" _: }
- text-decoration: underline
9 f! t' I$ [3 n - }
复制代码
Q3 v9 N+ l; |/ c7 s* q) G0 e由于 body 前面没有加上 #ID224342347child,此 CSS 文件会影响到全局的 body 标签,进而影响所有词典的样式。
8 O/ M4 \- _0 s4 K3 X
! C$ q9 ^# `. b$ _而 GoldenDict 就无此问题
5 v$ B/ D8 p6 i2 O T$ Z, z- @charset "utf-8";
5 m3 w4 d4 W0 U& h0 t( }) T - . V7 f) P; Q$ Q' O/ O3 d
- #gdfrom-2af74dded57c0b4bf1a2e7c76ade8787 .mdict body {
& f2 w( x `' n, d9 l - margin: 2em;
& l+ [/ k6 ]0 V - }
4 L: S" G) c( Q
: x* o6 U% b+ A% i" W9 g$ P- #gdfrom-2af74dded57c0b4bf1a2e7c76ade8787 .mdict a:hover {* z: j% \/ M) w- G1 S5 @
- color: #4372b6;
9 ^! Z5 ?: W2 o4 ~ - text-decoration: underline
h+ E' L) G9 x6 R0 ], D' S0 o* E1 @ - }
复制代码
, K2 p x+ {. ?& o, W! Z9 h; Q+ D* P& @& u
尽管我半年前就反馈过此问题,但按照欧陆词典官方一贯的尿性,对于反馈的BUG或建议基本是置若罔闻。
2 a' e4 r" Z) I) ^+ @因此如果对于加入了 @charset "utf-8"; 的 CSS 文件最好将这一句都删除,避免欧路词典解析出错。
' y/ K$ t0 _; ^& }2 m: |5 `
/ A/ Q" l# ]- _/ s |
|