掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 728|回复: 5

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

[复制链接]

该用户从未签到

发表于 2019-6-14 10:01:30 | 显示全部楼层 |阅读模式
本帖最后由 5dhtml 于 2019-6-14 10:02 编辑
, B: D$ Z/ W3 @# T" {9 F1 ^! J5 }; _6 }2 J4 f7 [0 m
我发现PC上goldendict和安卓上比如欧路对css的解析有时候有无法接受的差异,导致同一个词典在不同设备显示有问题,我对CSS、HTML之类的是外行,只会根据别人的CSS做一些简单的修改,我看到FF大佬制作的词典里似乎有根据平台来适配,但是自己实际测试却无效,这是什么原因呢?我感觉要根据设备适配总得根据useragent什么的吧,像这样直接写可以吗?& |' f- N% M& x) r9 K1 \0 ~. e
: K/ G/ U2 n  H$ t8 T
FF的collins词典) P) e6 l4 _+ g) U. A
  1. /* set automatically by script embedded in HTML */' y7 ~* J1 Q1 V7 p
  2. .windowsnt.goldendict{
    * g1 R7 r1 Q# M8 b- H" \+ L
  3.         font-size: 120%;
    2 t) ?  V) B, E% D& ]0 R1 @
  4. }
    + `1 U* c6 v+ }7 b" l% v4 n
  5. .windowsnt.goldendict .word_entry{) ^8 P- A3 y& O& m* n4 [
  6.     margin-top: 20px;
    # u% X: k( x/ U5 Q/ C/ N; m0 k
  7. }6 L; h  F1 t4 P: E" s$ n5 R9 W
  8. .windowsnt.goldendict .tab_multiwords{5 _' S8 Y0 o( O! C5 G& o0 {- O
  9.     margin-bottom: -20px;( u3 s( z8 Q! R) S2 K. `6 O
  10. }
复制代码

4 g1 ]0 x$ K$ ]LDOCE5:
9 m% f  g8 W/ J2 ^/ g
  1. .mobile .lm5pp_popup {3 U0 Y5 b9 r( r
  2.     bottom: 50px;3 o/ }& q9 Y2 X- i3 B  K, n7 y
  3.     right: 10px;! D9 t# R% s$ b& {
  4. }
复制代码
% P5 \0 n1 d9 i& K! U
! ]# z- H. R0 L! ^$ D

评分

1

查看全部评分

本帖被以下淘专辑推荐:

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

    [LV.4]偶尔看看III

    发表于 2019-6-14 15:14:42 | 显示全部楼层
    直接这样写不行,想要让您的词典在不同平台都显示的很好,需要针对不同平台写特定的CSS,但是仅仅用CSS是不行的,要配合 JavaScript。一般做法是这样的:
    3 }. J4 |" u8 ]3 Y( g比如你的一个词条HTML是这样的:
    ' I; t6 d: V7 t: n! {- w# M3 _5 h+ A1 [+ L
    <p id="entry">% R3 ]+ ?" O0 U: t
        <span class="headword">apple</span>0 a3 |: ~: W# c$ P, I% C
        <p class="meaning">a round fruit</p>$ t7 @1 ?7 ?( T) H, E
    </p>
    . ?2 Q. f. O' |( S5 y2 X7 f, {在 JavaScript里根据 useragent 判断当前是什么平台,然后用 JavaScript 给 <p id="entry"> 加上一个特定的 class, 比如是 Windows 平台,可能最后结果是 <p id="entry" class="windows">。然后在 CSS 里面就可以用类似您示例中的CSS来针对Windows平台写一些特定的样式了:
    ( }* S' H% {0 ?' S
    " W7 V8 g6 F* L3 v7 C% B1 kp#entry.windows {4 x0 i) t' r6 p( T
    ....$ a/ E3 N. N8 P' I8 r& f
    }
    5 `1 E4 X; \8 j4 R
    , k; L" q3 A# \) I0 a2 \我有点印象F大大的词典好像就是这么做的,您可以参考看看。$ A. z8 Z+ P+ j" J% w$ J$ p. P' f

    点评

    哦,我的疑问被解答了,明白了,他的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 | 显示全部楼层
    简单的办法就是根据屏幕宽度来判断。
    ' ^: ]( A1 X( n6 g: R8 ?
    1. .wordhead { padding-bottom: .2875rem; word-break: break-all; border-bottom: .08rem dashed #002047; }9 F$ W- u) Z( L# [
    2. @media screen and (max-width: 480px) { .wordhead { border-bottom: .08rem dashed transparent; } }
    复制代码
    更进一步的解决办法是 “自适应设计” 或 “弹性设计”,要看 CSS 的书。3 y4 A( e/ w( T
    2 m& Z, V2 H2 Y+ e+ y! h4 ~( T

    点评

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

    本版积分规则

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

    GMT+8, 2024-4-25 12:44 , Processed in 0.052363 second(s), 11 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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