这个 BootstrapVue table 如何覆盖应用程序 css?

How can this BootstrapVue table override the app css?

我有一个简单的 BootstrapVue table。

css定义在App.vue中。这是 App.vue.

的代码
<template>
  <div id="app">
    <!-- <img alt="Vue logo" src="./assets/logo.png"> -->
    <TestTable msg="testing"/>
  </div>
</template>

<script>
import TestTable from './components/TestTable.vue'

export default {
  name: 'App',
  components: {
    TestTable
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;  
}
</style>

这是 TestTable.vue 的代码。

<template>
  <div>
    <b-table striped hover :items="items"></b-table>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        items: [
          { age: 40, first_name: 'Dickerson', last_name: 'Macdonald' },
          { age: 21, first_name: 'Larsen', last_name: 'Shaw' },
          { age: 89, first_name: 'Geneva', last_name: 'Wilson' },
          { age: 38, first_name: 'Jami', last_name: 'Carney' }
        ]
      }
    }
  }
</script> 

margin-top: 60px定义在App.vue中。我想修改 TableTest.vue,使其覆盖 App.vue 中 CSS 的边距顶部。 TableTest.vue.

我想要 margin-top: 0px

我正在使用 Vue v2.6 和 Bootstrap-vue。

你可以试试margin-top: -60px;

I want to modify TableTest.vue such that it overrides the margin top in the CSS in App.vue

我之前评论过你在父组件中应用 margin-top: 60px 的问题,子组件有自己的盒子模型。

添加代码片段以显示组件的结构:

Vue.component('item', {
  template:'#list-template',
  props:['item'],
});

var vm = new Vue({
  el:"#app",
  computed: {
    limitedItems() {
      return ['item1'];
    }
  }
});
#app {
  border: 2px solid black;
  margin-top: 60px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
    <item v-for="item in limitedItems" :item="item" style="border: 2px solid green"></item>
</div>

<template id="list-template">
  <p>{{ item }}</p>
</template>

简单使用

<style>
 #app {
   margin-top: 0;
 }
</style>

在您的 TestTable.vue 文件中,它将覆盖之前的 css 规则,因为两个 <style> 标签都没有作用域。