掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 727|回复: 5

[求助] 怎么样在css里根据设备/平台来适配不同的样式?

[复制链接]

该用户从未签到

发表于 2019-6-14 10:01:30 | 显示全部楼层 |阅读模式
本帖最后由 5dhtml 于 2019-6-14 10:02 编辑 ' t3 S4 H) e8 p% Z
* @4 T, ]% C' }9 F% w* r! t% L4 }' A
我发现PC上goldendict和安卓上比如欧路对css的解析有时候有无法接受的差异,导致同一个词典在不同设备显示有问题,我对CSS、HTML之类的是外行,只会根据别人的CSS做一些简单的修改,我看到FF大佬制作的词典里似乎有根据平台来适配,但是自己实际测试却无效,这是什么原因呢?我感觉要根据设备适配总得根据useragent什么的吧,像这样直接写可以吗?% f; [4 S% |1 g1 g; ^* G

0 F! u% Q* K$ P* g2 YFF的collins词典, l9 }; o! J3 V% g+ N: e
  1. /* set automatically by script embedded in HTML */7 l' ], s9 z+ K( Y$ H6 S4 @1 k5 L
  2. .windowsnt.goldendict{
    1 F% E& Y, m) Q' [. C
  3.         font-size: 120%;! N6 t1 F" v: z  ~4 a; i) Z9 f
  4. }
    & s3 h4 q8 Y0 x6 [
  5. .windowsnt.goldendict .word_entry{3 B. d( Y9 T! F* Z) j* l4 Z% K0 E
  6.     margin-top: 20px;
    : ^3 l9 g4 q; T2 ~' G
  7. }
    # @! v( C7 P  t
  8. .windowsnt.goldendict .tab_multiwords{) V/ Q: E8 c+ @' F- {5 q) w
  9.     margin-bottom: -20px;
    : L& V+ i; w+ b
  10. }
复制代码

( }' [9 ^  `, Y: F2 n+ {" e, bLDOCE5:, l! Z4 k* |1 h* g, y
  1. .mobile .lm5pp_popup {
    ) h' s# o2 c3 K; N
  2.     bottom: 50px;, G" U: h7 g. Y" U% d7 U  J
  3.     right: 10px;
    8 \% h( Z3 k- s% b
  4. }
复制代码
' {+ E9 E% I% r, r

$ F1 r. M# n* T& _+ R

评分

1

查看全部评分

本帖被以下淘专辑推荐:

  • TA的每日心情
    开心
    2019-6-23 00:02
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    发表于 2019-6-14 15:14:42 | 显示全部楼层
    直接这样写不行,想要让您的词典在不同平台都显示的很好,需要针对不同平台写特定的CSS,但是仅仅用CSS是不行的,要配合 JavaScript。一般做法是这样的:
    : S( d& E1 r$ D# v. U; y比如你的一个词条HTML是这样的:/ b0 p+ z  G! `5 d+ r$ ]% K4 Y
    : [, v6 ]; ]) S4 P% I& n
    <p id="entry">
    5 R" {7 Y0 M$ f. ^% I; X- W    <span class="headword">apple</span># j8 a4 L+ l' j/ o
        <p class="meaning">a round fruit</p>
    ; G/ K* {$ W& X: Y$ @" M, R</p>. P3 X$ R) c% s& ?& ]5 o, o
    在 JavaScript里根据 useragent 判断当前是什么平台,然后用 JavaScript 给 <p id="entry"> 加上一个特定的 class, 比如是 Windows 平台,可能最后结果是 <p id="entry" class="windows">。然后在 CSS 里面就可以用类似您示例中的CSS来针对Windows平台写一些特定的样式了:
    ) E  L3 X3 ^7 ]5 P2 J8 g7 }) X7 t2 Q
    p#entry.windows {
    # G. o2 F$ ]  b  e# l: }....0 j7 f# b0 @* I, i2 ~
    }
    - q, E, e7 B+ x; ^! @) A8 g, ~8 f  E: v9 l, [4 @2 c
    我有点印象F大大的词典好像就是这么做的,您可以参考看看。
      F  L  |) L* S( h, s$ u

    点评

    哦,我的疑问被解答了,明白了,他的css里windowsnt和goldendict这些类都是有js配合的,难怪  发表于 2019-6-14 22:48
  • TA的每日心情
    慵懒
    2023-10-14 18:34
  • 签到天数: 210 天

    [LV.7]常住居民III

    发表于 2019-6-14 15:25:58 | 显示全部楼层
    简单的办法就是根据屏幕宽度来判断。
    * B  x2 k0 l" j9 A5 r* k+ D
    1. .wordhead { padding-bottom: .2875rem; word-break: break-all; border-bottom: .08rem dashed #002047; }6 ~" w: \7 Y% ^; J' K$ X: X
    2. @media screen and (max-width: 480px) { .wordhead { border-bottom: .08rem dashed transparent; } }
    复制代码
    更进一步的解决办法是 “自适应设计” 或 “弹性设计”,要看 CSS 的书。
    6 Q/ ^0 Y1 b% d0 K2 I% w: s1 Z0 W# ]0 ]$ f1 ^3 A4 E9 |0 u

    点评

    明白了,这个办法简单,多谢指点!  发表于 2019-6-14 22:50
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2024-4-25 06:27 , Processed in 0.044353 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表