V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
teslayun
V2EX  ›  问与答

react 里的部分 css 选择器背干掉了吗?比如子元素选择器 div > p

  •  
  •   teslayun · 2021-11-11 21:27:26 +08:00 · 1439 次点击
    这是一个创建于 1138 天前的主题,其中的信息可能已经有所发展或是发生改变。
    兄弟选择器 h1 + p 这种也没效果。。。。
    想控制一下 markdown 渲染的 html 。调一下图片。但是选不上 T_T
    第 1 条附言  ·  2021-11-12 14:07:24 +08:00
    确实是自己写法上的错误导致的报错提示。css modules 里不能直接 img+p 。需要像 7 楼哪样加上标签类名字,改成.xxx img + p 就可以了。但是发现想要通过子标签来找父标签,似乎没有这种操作?没有父元素选择器。。。于是 3 楼这种<p><img></img></p>只能用 JS 来找 p 标签吗
    12 条回复    2021-11-12 13:39:26 +08:00
    lalalaqwer
        1
    lalalaqwer  
       2021-11-11 22:02:36 +08:00
    你这问题,让人看了好难受
    gauzung
        2
    gauzung  
       2021-11-11 22:13:43 +08:00
    传个 demo 到 git 上啊,show me the code
    teslayun
        3
    teslayun  
    OP
       2021-11-11 23:34:33 +08:00
    @gauzung
    比如:
    markdown 渲染的内容:
    <p>123456</p>
    <p>
    <img src="123"></img>
    <p>
    <p>123456</p>

    要把图片居中:css 选择器选择 img 标签的兄弟标签 p 来设置样式,img + p 选不上
    teslayun
        4
    teslayun  
    OP
       2021-11-12 00:00:40 +08:00
    @lalalaqwer 确实难受,好像是 css modules 不支持这种写法? webpack 都报错了
    lalalaqwer
        5
    lalalaqwer  
       2021-11-12 00:29:42 +08:00
    @teslayun
    我说的难受是从你的问题看不出来你遇到的到底是什么问题(#`O′)
    你要是用 css modules 应该不会遇到选择器的问题的,直接把你样式相关的类名放到元素上面就可以了。如果没办法去控制 markdown 渲染后的元素,就直接写 css 引入就可以了吧,就是有可能存在全局的样式污染
    lalalaqwer
        6
    lalalaqwer  
       2021-11-12 00:30:27 +08:00
    @teslayun 其实还是二楼说的,这种问题最好能把代码贴出来
    Leviathann
        7
    Leviathann  
       2021-11-12 01:20:30 +08:00
    不就是
    import css from './xxx.module.css'
    <img className={css.xxx} .../>
    然后 xxx.module.css 里写
    xxx + p {
    ...
    }
    peterjose
        8
    peterjose  
       2021-11-12 04:39:20 +08:00 via Android
    风马牛不相及的事
    Perry
        9
    Perry  
       2021-11-12 05:16:53 +08:00
    webpack 都报错了,基本上是你自己使用问题。
    jguo
        10
    jguo  
       2021-11-12 08:35:35 +08:00
    webpack 报 css 的错跟 react 有什么关系
    gauzung
        11
    gauzung  
       2021-11-12 09:10:44 +08:00
    @teslayun 我的意思是你直接把项目或者项目中出 bug 的部分传到 git 上,直接跑一下你的代码,你这么说是没人看得懂的
    效率第一😂
    devwolf
        12
    devwolf  
       2021-11-12 13:39:26 +08:00
    标题:错字可以在附言里修正

    标题内容:据我所知 react 没有这种干掉 css 选择器的说法,你甚至可以反过来想,为什么要干掉。
    再者 css modules 是 css modules ,而 react 是 react 。

    然后,我推测是 css modules 使用不规范。就 3 楼提到的 img+p 问题,正常的 react 项目,以及用了 css modules 的项目是都支持的。

    你可以在 https://stackblitz.com/
    等类似在线运行 react 项目网站还原你的 demo ,来展示 bug
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1109 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:06 · PVG 07:06 · LAX 15:06 · JFK 18:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.