vue scss范围不适用于根元素

时间:2019-09-25 10:42:37

标签: vue.js sass

我在根元素上有一个带有b模态的组件。

inp = "some string 1 some more 2.1 even more 9.2 caracala,domitian2.3"
matches = re.findall(r'(.*?)\s*(\d+\.\d+)\s*', inp)
print(matches)

[('some string 1 some more', '2.1'), ('even more', '9.2'), ('caracala,domitian', '2.3')]

在scss上定义一些边距

(.*?)       match all content up the first
\s*         optional space, which is followed by
(\d+\.\d+)  a floating point number

这可以按预期工作,但是如果我将scss设置为范围

<template>
  <b-modal ref="mymodal" modal-class="my-modal">

这是行不通的,子元素应用了所有css,但根元素却没有。

1 个答案:

答案 0 :(得分:1)

  

在范围内,父组件的样式不会泄漏到子组件中   组件。但是,子组件的根节点将受到以下影响:   父级范围的CSS和子级范围的CSS。这是   设计,以便父级可以为子级根元素设置样式以进行布局   目的。

因此,由于不会在子组件根节点上设置'modal-class',因此必须使用深度选择器(https://vue-loader.vuejs.org/guide/scoped-css.html#deep-selectors

/deep/ .my-modal {
    margin-top: 100px;