掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 709|回复: 13

[求助] 【提问】关于css中组合选择式的表达方法

[复制链接]
  • TA的每日心情
    无聊
    2018-8-11 10:00
  • 签到天数: 39 天

    [LV.5]常住居民I

    发表于 2018-4-27 13:22:56 | 显示全部楼层 |阅读模式
    本帖最后由 sunset 于 2018-4-27 20:04 编辑 6 _. Z+ ^$ m7 u, Z% Z* C+ B

    * U0 c6 m) l; L! O( [如下面的三张图:
    . m" c" M% Q3 d$ A; k, j& p0 A; ^图中选择的是柯林斯词典中不同模块中的中文字段,这三个地方的中文全都是由span.chinese-text 控制的。选中了其中的一个,对其样式进行修改,其他两处的样式也会跟随着一起变动。有没有什么办法,能将这三个地方的中文样式分开控制?附件中提供了html、css文件,麻烦各位大神了。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x
  • TA的每日心情

    2018-6-16 18:13
  • 签到天数: 158 天

    [LV.7]常住居民III

    发表于 2018-4-29 09:24:14 | 显示全部楼层
    本帖最后由 Yyang. 于 2018-4-29 09:31 编辑
    8 J0 o. l& S( j8 A3 Y) {% d/ c
    9 H( V0 r7 o! a) [/ N4 g& e我写了可以单独控制,你试试吧8 ]3 H( |2 R$ P  p/ `1 i
    .note.type-note.no-before.example li p {
    3 I/ O! y  ^" N4 W2 D* U' h    color: black;% k" H8 X* O4 G% q; W9 j
    }
    / }  k7 s8 x. |5 m: |6 c  T' l5 |- ?. X5 t8 L' Q
    3 Q( n5 A. B  I# D3 f
    .collins_en_cn.example .chinese-text {
    2 ?+ E* u  F. w" K  [( }* Q    color: slategray;5 n' _7 c0 F/ m" p
    }
      y( K  q$ ?7 |% q* ^! o
    ! ?' d- Y4 s  P+ E! A0 g. |9 cspan.def_cn.cn_after .chinese-text {3 z- Z& u5 {3 P6 M) j) W
        color: #e05e00;
    2 k, h: \0 u: i& F# P3 w  f    font-size: 90%;
    " J0 V2 F2 b  [! |1 B    font-weight: bold;1 T  H2 h7 o$ W8 c0 B% @* u
    }
    0 c) o5 c' l2 C- p5 p! q5 y" G8 S; Z- Z  r1 N0 v( F$ C
    span.def_cn.cn_after {( v6 Q, ]' ]4 l# H
        color: #e05e00;  `2 r+ l0 a4 @
        font-size: 95%;/ `1 g$ N7 x: A# j) F4 P3 R" Q
        font-weight: bold;
    7 F0 s2 A1 B9 v+ t) D- S}4 l$ W* |# a% H/ U, k  A. o( f

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2020-10-25 03:32
  • 签到天数: 395 天

    [LV.9]以坛为家II

    发表于 2018-4-27 14:10:50 | 显示全部楼层
    提供一个思路:- v6 J# K  ]2 j) n; N: E& i0 G2 Y

    ) }/ z# F3 l. B# `这个可以通过找出这3处chinese-text的规律,然后使用正则替换,分别替换为chinese-text1,chinese-text2,chinese-text3,或者保留一处不变,替换其他两处,分别为chinese-text,chinese-text1,chinese-text23 I' c' g, s) X: |( B

    , N. y* k! y# Y0 e然后再分别写出css
    9 {0 Z, O5 g0 G; {7 X& l: T+ Y7 L6 c" A  U7 I/ p
    关键是找出规律。

    评分

    1

    查看全部评分

  • TA的每日心情
    无聊
    2018-8-11 10:00
  • 签到天数: 39 天

    [LV.5]常住居民I

     楼主| 发表于 2018-4-27 14:59:28 | 显示全部楼层
    hyqq2015 发表于 2018-4-27 14:100 U" u% M% I; j! W: e- M
    提供一个思路:( H, i% q$ e6 @6 F; |4 n
    9 v  t. X  L" c7 R/ G: O% h
    这个可以通过找出这3处chinese-text的规律,然后使用正则替换,分别替换为chinese-text1, ...

    " Z2 ]0 ^* @" U( i% z4 n6 Q好吧,原来还是必须要去修改原html
  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2018-4-27 15:42:28 | 显示全部楼层
    往上找不同的父元素或祖先元素,然后组合选择,我试了,这个是可以的。

    评分

    1

    查看全部评分

  • TA的每日心情
    无聊
    2018-8-11 10:00
  • 签到天数: 39 天

    [LV.5]常住居民I

     楼主| 发表于 2018-4-27 15:49:16 | 显示全部楼层
    须佐之男 发表于 2018-4-27 15:423 F0 g. h: v- C0 _0 a3 y2 Z' H
    往上找不同的父元素或祖先元素,然后组合选择,我试了,这个是可以的。
    - [% {; p0 b7 Q7 D
    我就是组合选择的格式不会写,你能举个例子吗?8 W2 ~0 H* r( \) G* s. F
    比如父元素是div.1,子元素是span.2,我想修改span.2的样式,应该怎么写?
  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2018-4-27 16:02:17 | 显示全部楼层
    本帖最后由 须佐之男 于 2018-4-27 16:04 编辑 7 `( Y$ w: N3 x4 ~3 |
    sunset 发表于 2018-4-27 15:49
    / p% E8 t1 v1 R: y我就是组合选择的格式不会写,你能举个例子吗?
    # Z! y$ e" Y% G; i/ _; j8 ?2 V: U5 ?比如父元素是div.1,子元素是span.2,我想修改span.2的样 ...
    4 g6 X( ?3 H9 n1 i' L( @+ K

    1 u; H2 K9 u. H0 H. q对应你上面的问题,你这个例子举得不对
    # P+ |1 e3 |& [& l) D正确的例子应该是,不同父元素的,比如
    ; g, l- a5 @- T) H, p# U<div class="ex1"><p >测试1</p></div>1 Q& ]0 X9 c3 I
    <div class="ex2"><p >测试2</p></div>
    0 {( P8 j/ F5 {: b.ex1 p {}这个选定第一个p标签
    1 }: ^. m1 G1 f# `.ex2 p {}这个选中第二个p标签
    5 Z. M6 z2 M& R) k$ m& B
    # ]* a: a4 R/ ]3 v9 `. L* U9 b" _- ~% H4 W9 s5 k) b4 C" r& s
    你可以搜索组合选择符去了解下

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2020-10-25 03:32
  • 签到天数: 395 天

    [LV.9]以坛为家II

    发表于 2018-4-27 16:53:32 | 显示全部楼层
    须佐之男 发表于 2018-4-27 15:42
      z; \! |7 |0 D3 i' A往上找不同的父元素或祖先元素,然后组合选择,我试了,这个是可以的。

    ( t( G) g( D- @, ]% o# @# ?. V这个方法效率更高。
  • TA的每日心情
    无聊
    2018-8-11 10:00
  • 签到天数: 39 天

    [LV.5]常住居民I

     楼主| 发表于 2018-4-27 19:10:16 | 显示全部楼层
    本帖最后由 sunset 于 2018-4-27 19:14 编辑 : d  J8 u9 [. i+ m$ F
    须佐之男 发表于 2018-4-27 16:02# o1 m. G* ~) @4 Q. u) y+ w0 |. U
    对应你上面的问题,你这个例子举得不对
    ' L8 ?) k6 @, h. v% ]3 F正确的例子应该是,不同父元素的,比如( z! s) d% \* {) K
    测试1

    $ E$ j" L- d) V7 i) \2 d' n
    & e+ h- c% g! y" b; e; y: r" N8 B这两个Chinese-text我实在区分不开来,你能不能帮我看看应该怎么加以区分?
    ( ?7 s) a7 ?2 v, u9 `( X8 J他俩都是<p>里面的<span>标签,并且span的class也一样,该怎么办

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x
  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2018-4-27 19:38:13 | 显示全部楼层
    本帖最后由 须佐之男 于 2018-4-27 20:13 编辑
    " }' ?) {, Y* d0 `2 B+ S
    sunset 发表于 2018-4-27 19:10
    2 d- @' ^, e( W" x3 w6 V9 W9 l这两个Chinese-text我实在区分不开来,你能不能帮我看看应该怎么加以区分? 2 A0 [  A) b8 c. v+ U
    他俩都是里面的标 ...
    7 x$ T4 {& k# ?/ |* E

    - I& i% _8 X9 D) }3 U) G4 u.note .chinese-text {},只选定你图一的内容,意思就是类名note下的chinese-text类,不在类名note下的就不选中。' B8 C4 N# s  t2 }
    不直接给出选择器是想着你自己看看相关文档自己就会了,而且会学到其他方法。注:选中这个有多种办法,这只是其中一个。  g2 n/ u' L! L

    ! x% ]1 k" w/ z: G看我4楼的回复,不同的父元素或祖先元素,父元素相同就往上找(至少在你给的这个例子里是能找到不同的)。$ b; [) X2 Z. M4 X& }( T6 f

    - A! R& i$ ~# g, m: h8 L3 Z9 u) b

    评分

    1

    查看全部评分

  • TA的每日心情
    无聊
    2018-8-11 10:00
  • 签到天数: 39 天

    [LV.5]常住居民I

     楼主| 发表于 2018-4-27 20:51:44 | 显示全部楼层
    须佐之男 发表于 2018-4-27 19:38
    ) w- a# M) B2 \# M  a" i7 p.note .chinese-text {},只选定你图一的内容,意思就是类名note下的chinese-text类,不在类名note下的就 ...

    2 U0 z) H) C* b( ~纠正了自己的一个错误之后全部分清楚了。
    ' d: }7 Q  J/ A. i* I; z原来我之前写的表达式一直没反应是因为我把图中的高亮部分整个地都复制了过去,原来只要复制前面的那一部分就可以了。
    ) v; s8 a, v7 q  e& I# A: E这里面有什么规定吗?不能带空格?

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x
  • TA的每日心情
    奋斗
    2022-6-1 19:02
  • 签到天数: 377 天

    [LV.9]以坛为家II

    发表于 2018-4-27 21:13:31 | 显示全部楼层
    本帖最后由 须佐之男 于 2018-4-27 21:26 编辑 . N2 r) ^0 S& ?( w# s/ }. W+ I
    sunset 发表于 2018-4-27 20:512 k. n; _# e; e4 n+ W/ i# P
    纠正了自己的一个错误之后全部分清楚了。. r' ?: V' b' }+ f9 ^
    原来我之前写的表达式一直没反应是因为我把图中的高亮部分整个 ...

    & `( t& v0 G- }: W2 f( ^" f/ H2 f8 M
    图上你选中的部分,在html中意思是同时有两个类名,css中你单独使用哪一个都能选中它,同时使用且加空格就变成后代选择了,.def_cn .cn_after选定的是def_cn类下的cn_after类。0 \! [: K; z5 p  m% ^
    6 G& r" z7 f! H4 @2 K: U
    去看看这个http://www.runoob.com/css/css-combinators.html,还能直接在线看效果

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2019-1-18 23:55
  • 签到天数: 230 天

    [LV.7]常住居民III

    发表于 2018-4-28 19:09:29 | 显示全部楼层
    通用点说,不改动html情况下,主要是两种办法。
    - v/ M' P- ]( T9 V" B一个是找父元素,一层层往上找。写css时写精确些。不同情况下写法的区别,可以参照别人的css揣摩、搜索,自己试试就知道了。比如<div class="a">写作“div.a”(没空格),<a><b></b></a>中的b写作“a b”,<span class="a"><span class="b"></span></span>中的b写作“.a .b” (有空格)。类似的自己揣摩吧,再结合浏览器检查看看有没有生效,如果是被哪一个style覆盖了(那就写得更精细点),或是写错了。
    , i: V' _/ Q9 {# s另一个是利用选择器。比如同一级下紧跟在a后面的b,可以用a + b来控制;同一级下a后面的所有b,可以用a ~ b来控制。如此种种,但感觉上多用于比较精细的控制,或是词典结构复杂/混乱造成的无奈选择。

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2018-8-30 07:34
  • 签到天数: 135 天

    [LV.7]常住居民III

    发表于 2018-4-29 15:25:13 | 显示全部楼层
    Yyang. 发表于 2018-4-29 09:24
    - g# D# H; C/ ?8 k1 j: M我写了可以单独控制,你试试吧
    - S2 F1 R% W: R  v% k/ \: F- ~.note.type-note.no-before.example li p {
    ( C" M; o# ^" Q+ ?, S; T    color: black;
    . h: C0 G) w. Z8 `" E1 M
    给力啊,看起来好多代码  
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-25 06:50 , Processed in 0.061207 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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