1. 程式人生 > >Vue scoped CSS 與深度作用選擇器 /deep/

Vue scoped CSS 與深度作用選擇器 /deep/

使用 scoped 後,父元件的樣式將不會滲透到子元件中。

例如(無效):

<template>
  <div id="box">
    <el-input  class="text-box" v-model="value"></el-input>
  </div>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      value: 'nice'
    };
  }
};
</script>

<style lang="less" scoped>
.text-box {
   input {
/* 無效*/
    width: 100px;
    text-align: center;
  }
}
</style>

那我們如何解決呢?使用深度作用選擇器 /deep/,直接上程式碼:

<template>
  <div id="box">
    <el-input v-model="value" class="text-box"></el-input>
  </div>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      value: 'nice'
    };
  }
};
</script>

<style lang="less" scoped>
.text-box {
  /deep/ input {
    width: 100px;
    text-align: center;
  }
}
</style>