关于vue中,修改element样式不生效的问题(父组件添加scoped之后。解决在父组件中无法修改子组件样式问题)

在项目中,我们经常用到element,有时候我们需要对原生的element进行修改,但是有时候element组件经常会有子元素的形式呈现。
比如<el-input>在dom上就是这个样子。
在这里插入图片描述
在这种情况下,如果我们需要修改input的样式,就需要用子代选择器使用,比如 .theday .el-input__inner{,但是我们总是失败,我们发现我们的修改css以后input并没有相关的样式出现
出现这样的情况是因为父组件的 scoped 样式不能穿透到子组件上

<style lang="scss" scoped>

要想子代选择器生效,就必须要删掉scoped这个词,但是问题是这样会造成css全局污染,这样的方法不可取。
使用 /deep/ 或者 >>> 解决

.child /deep/ span {
*some prop
}

或者

.child >>> span {
*some prop
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用JavaScript动态修改元素的样式时,需要通过操作元素的style属性来实现。假设有一个元素的伪选择器是::before,下面是一个示例的代码: 首先,我们需要获取到要修改的元素。可以使用querySelector()方法来选择元素,通过指定其元素的选择器以及伪选择器,如: ```javascript var element = document.querySelector('.parent-element::before'); ``` 接下来,我们可以通过修改元素的style属性来改变伪元素的样式。可以通过为style属性设置属性值,来修改元素的样式。例如,如果要修改元素的颜色,可以使用以下代码: ```javascript element.style.color = "red"; ``` 如果要修改元素的背景色,可以使用以下代码: ```javascript element.style.backgroundColor = "blue"; ``` 似地,可以通过修改其他的CSS样式属性来改变伪元素的样式,比如字体大小、边框样式、文字对齐方式等。 值得注意的是,伪元素的样式可以通过修改元素的style属性来实现,但这种方式只能在内联样式生效,无法通过外部样式表或内部样式表来实现。另外,在支持伪元素样式修改的浏览器使用此方法是可行的,但并不是所有浏览器都支持这种方式。 综上所述,使用JavaScript动态修改元素的样式,可以通过获取到要修改的元素,并通过修改其style属性来改变伪元素的样式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值