这个 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>
标签都没有作用域。
我有一个简单的 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>
标签都没有作用域。