掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 733|回复: 5

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

[复制链接]

该用户从未签到

发表于 2019-6-14 10:01:30 | 显示全部楼层 |阅读模式
本帖最后由 5dhtml 于 2019-6-14 10:02 编辑
; {' `; w, Z7 r- b5 [/ ~( r6 o) f
我发现PC上goldendict和安卓上比如欧路对css的解析有时候有无法接受的差异,导致同一个词典在不同设备显示有问题,我对CSS、HTML之类的是外行,只会根据别人的CSS做一些简单的修改,我看到FF大佬制作的词典里似乎有根据平台来适配,但是自己实际测试却无效,这是什么原因呢?我感觉要根据设备适配总得根据useragent什么的吧,像这样直接写可以吗?  i* p8 g1 K5 ^) A
4 H: h. q" [. P; r
FF的collins词典
" o1 }) S" M7 |
  1. /* set automatically by script embedded in HTML */; ^1 ]; c$ H+ Z( L! b/ D2 m) u
  2. .windowsnt.goldendict{8 q/ s' d$ I. ?* z  K6 T
  3.         font-size: 120%;0 `! W  p- l0 `4 ~
  4. }
    1 [7 d! f; O3 E7 }8 j2 X9 U" H( O
  5. .windowsnt.goldendict .word_entry{2 E/ Q" x4 W* Z5 v
  6.     margin-top: 20px;
    8 ]5 E- G# }( k8 p6 p
  7. }6 J7 ^) ]) A2 q  a( P7 S" D
  8. .windowsnt.goldendict .tab_multiwords{! T" d1 X0 r2 ~' x) B: U: s+ [4 x
  9.     margin-bottom: -20px;
    . j; ?$ ?  a+ J4 i* t: `2 e  ]
  10. }
复制代码
- Y0 x1 N7 Z8 G* @7 J9 s3 F
LDOCE5:
8 k( T  ?0 Y! U
  1. .mobile .lm5pp_popup {
    0 V' N7 X: L( k/ C, s
  2.     bottom: 50px;
    ! t* c0 p0 w9 b" s5 q3 q, }( ]% A
  3.     right: 10px;8 O& T1 N! F" ]% k
  4. }
复制代码

* Z( H3 H4 P' T
, `. \. d  @% B/ o* F' ^; z

评分

1

查看全部评分

本帖被以下淘专辑推荐:

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

    [LV.4]偶尔看看III

    发表于 2019-6-14 15:14:42 | 显示全部楼层
    直接这样写不行,想要让您的词典在不同平台都显示的很好,需要针对不同平台写特定的CSS,但是仅仅用CSS是不行的,要配合 JavaScript。一般做法是这样的:. I1 j- k1 y. N* ]$ R) G8 d5 r, m
    比如你的一个词条HTML是这样的:
    * g* i% P5 U( p* w7 R/ _4 y6 H! r# Y; b# k' n8 K5 b
    <p id="entry">
    7 @7 k" M% w" V' T4 r    <span class="headword">apple</span>0 q, [2 s8 \3 j/ y
        <p class="meaning">a round fruit</p>% ~6 {: p. ^7 A7 C/ H
    </p>+ P# O" ~9 q: A, r: f* a
    在 JavaScript里根据 useragent 判断当前是什么平台,然后用 JavaScript 给 <p id="entry"> 加上一个特定的 class, 比如是 Windows 平台,可能最后结果是 <p id="entry" class="windows">。然后在 CSS 里面就可以用类似您示例中的CSS来针对Windows平台写一些特定的样式了:
    : x' k/ ?/ B1 i' ]
    ( J2 X' Q/ e: i$ {p#entry.windows {
    . h7 D& }7 T4 n' m) `4 f; M....
    ) E" ~9 {% t$ N) ], W}2 \/ B. c* E: }0 K, s

    , Q( f. a/ z& G0 F- T我有点印象F大大的词典好像就是这么做的,您可以参考看看。4 |7 }% L& |0 i1 O, q6 e

    点评

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

    [LV.7]常住居民III

    发表于 2019-6-14 15:25:58 | 显示全部楼层
    简单的办法就是根据屏幕宽度来判断。
    2 X% u/ J) ^1 I# b" ]7 U: l% [: {
    1. .wordhead { padding-bottom: .2875rem; word-break: break-all; border-bottom: .08rem dashed #002047; }
      - ~! f! A+ h' x
    2. @media screen and (max-width: 480px) { .wordhead { border-bottom: .08rem dashed transparent; } }
    复制代码
    更进一步的解决办法是 “自适应设计” 或 “弹性设计”,要看 CSS 的书。
    % S' h/ j1 `  ]. P  `2 X8 v9 Y$ Q) P7 `& M2 i$ t/ u

    点评

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

    本版积分规则

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

    GMT+8, 2024-5-6 14:59 , Processed in 0.049040 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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