v-for似乎搞乱了元素索引。我有以下代码:
<style>
@media (min-width: 768px) and (max-width: 1199px) {
.grid:nth-child(2) {
clear: left;
background-color: gray;
border: 1px solid yellow;
}
}
</style>
然后在我的代码中:
<div v-for="n in posts">
<div class="grid">{{n}}</div>
</div>
这里的孩子2不存在。仅在指定子级1时才应用CSS样式。
任何帮助将不胜感激
答案 0 :(得分:1)
.grid:nth-child(2)
表示每个.grid
元素,它是其父级的第二个子元素。但由于您的v-for
位于包含div
的{{1}},因此它实际上围绕每个.grid
创建了一个容器,因此没有.grid
元素是第二个子元素。我想你可能真的想要v-for
元素上的.grid
。
new Vue({
el: '#app',
data() {
return {
posts: [1,2,3,4,5]
}
},
});
&#13;
.grid:nth-child(2) {
clear: left;
background-color: gray;
border: 1px solid yellow;
}
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
<div id="app">
<div class="grid" v-for="n in posts">{{n}}</div>
</div>
&#13;