掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 748|回复: 5

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

[复制链接]

该用户从未签到

发表于 2019-6-14 10:01:30 | 显示全部楼层 |阅读模式
本帖最后由 5dhtml 于 2019-6-14 10:02 编辑
! G8 A5 y1 d- T& g$ R( r0 O
" B! o( V( y, O' k$ I. d我发现PC上goldendict和安卓上比如欧路对css的解析有时候有无法接受的差异,导致同一个词典在不同设备显示有问题,我对CSS、HTML之类的是外行,只会根据别人的CSS做一些简单的修改,我看到FF大佬制作的词典里似乎有根据平台来适配,但是自己实际测试却无效,这是什么原因呢?我感觉要根据设备适配总得根据useragent什么的吧,像这样直接写可以吗?3 H+ r/ n- n% V0 `# c

4 J- Q% [1 C* g- D; h8 y+ d- EFF的collins词典
8 }) o& B2 b+ z$ m+ T3 S- J7 O
  1. /* set automatically by script embedded in HTML */
    + A, ]1 J; @. B0 o% a$ [+ U
  2. .windowsnt.goldendict{
    7 [: Z  r  o' `4 l
  3.         font-size: 120%;
    ( q+ E! X$ L8 ^& ~0 R! w" q
  4. }
    ; b4 [1 u) ~# B' D/ g. O
  5. .windowsnt.goldendict .word_entry{- D! k( m5 `( h1 l: w
  6.     margin-top: 20px;5 U8 \( ~8 q  c  W& M
  7. }, {( n, s. S5 ?
  8. .windowsnt.goldendict .tab_multiwords{
    1 _) y2 ]3 I5 B0 t( \
  9.     margin-bottom: -20px;
    1 ~+ `5 c( P6 d" y# V4 [
  10. }
复制代码

4 e2 B) x* u- P4 YLDOCE5:
. E0 T% P# {' j: D/ k6 Q9 B
  1. .mobile .lm5pp_popup {
    1 L% e5 u. Z5 Y/ O) R/ ~) M
  2.     bottom: 50px;
    6 d; J* _  W8 I' Q! `, R
  3.     right: 10px;1 s, ^8 y7 R' c3 u  v( t1 v
  4. }
复制代码

/ h7 t% Z3 B' F+ t$ f' Y1 @* b4 }9 a" k$ _! ~( H0 z! J

评分

1

查看全部评分

本帖被以下淘专辑推荐:

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

    [LV.4]偶尔看看III

    发表于 2019-6-14 15:14:42 | 显示全部楼层
    直接这样写不行,想要让您的词典在不同平台都显示的很好,需要针对不同平台写特定的CSS,但是仅仅用CSS是不行的,要配合 JavaScript。一般做法是这样的:- i8 l9 d! q4 w0 {1 L2 g
    比如你的一个词条HTML是这样的:
    . @  m9 Y9 {  Q' D8 T9 G# f. }2 g; W9 W9 Y
    <p id="entry">
    . ?. X7 s! ~+ D! n0 z3 K' P    <span class="headword">apple</span>1 x. _3 x* s- r9 L3 {3 @
        <p class="meaning">a round fruit</p>* L& F* g# T4 G. q& W8 `0 `: K
    </p>
    , |: j! B9 }6 U在 JavaScript里根据 useragent 判断当前是什么平台,然后用 JavaScript 给 <p id="entry"> 加上一个特定的 class, 比如是 Windows 平台,可能最后结果是 <p id="entry" class="windows">。然后在 CSS 里面就可以用类似您示例中的CSS来针对Windows平台写一些特定的样式了:
    ! i3 g) I4 `, r" T( K0 W5 \7 l. [! |) d3 Y
    p#entry.windows {0 N5 _0 z" B4 v# G4 {
    ....* N9 p& z1 X( _+ ^7 A% K. ]& ^
    }
    8 Q9 e6 A' i$ K6 w, Y2 Y2 L/ ]6 d, ?, T. [! d, r
    我有点印象F大大的词典好像就是这么做的,您可以参考看看。1 N8 `, J- p: Y! V. w

    点评

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

    [LV.7]常住居民III

    发表于 2019-6-14 15:25:58 | 显示全部楼层
    简单的办法就是根据屏幕宽度来判断。5 Q2 {6 x) }; C( M  `. X
    1. .wordhead { padding-bottom: .2875rem; word-break: break-all; border-bottom: .08rem dashed #002047; }
        I+ G, ^. L0 U
    2. @media screen and (max-width: 480px) { .wordhead { border-bottom: .08rem dashed transparent; } }
    复制代码
    更进一步的解决办法是 “自适应设计” 或 “弹性设计”,要看 CSS 的书。
    5 g  e5 f% h' ~' Q  h  p/ Z5 l4 {# L* L

    点评

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

    本版积分规则

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

    GMT+8, 2024-6-9 05:59 , Processed in 0.040682 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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