for (let i = 0; i < this.$refs.newbox.length; i++) { this.$refs.newbox[i].style.display = 'block' } vue2应该怎么增加样式权重值 并且不可覆盖1
时间: 2024-03-23 18:39:45 浏览: 51
解决vue单页面修改样式无法覆盖问题
要增加样式权重值,可以使用以下方法:
1. 使用 !important,这样可以覆盖其他样式,但是不建议滥用。
```
for (let i = 0; i < this.$refs.newbox.length; i++) {
this.$refs.newbox[i].style.display = 'block !important';
}
```
2. 使用 class,给每个元素添加一个 class,然后在 CSS 中设置该 class 的样式。
```
for (let i = 0; i < this.$refs.newbox.length; i++) {
this.$refs.newbox[i].classList.add('newbox-show');
}
```
CSS:
```
.newbox-show {
display: block;
/* 设置其他样式 */
}
```
这样就可以避免使用 !important。
3. 使用 ID,给每个元素添加一个唯一的 ID,然后在 CSS 中设置该 ID 的样式。
```
for (let i = 0; i < this.$refs.newbox.length; i++) {
this.$refs.newbox[i].id = 'newbox-' + i;
}
```
CSS:
```
#newbox-0,
#newbox-1,
#newbox-2,
/* ... */
{
display: block;
/* 设置其他样式 */
}
```
这种方法可以保证样式不被其他元素覆盖,但是不建议滥用 ID。
阅读全文