我在某些组件上使用了范围样式。 样式类使用[data-v-hash]呈现,并且html元素获得[data-v-hash]属性...但不是全部...为什么?
让我们来看看这个navbar bootstrap4 navbar
<template>
<nav class="navbar navbar-inverse navbar-light fixed-top navbar-expand-lg">
<a class="navbar-brand" href="#">Home</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Menu
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">item1</a>
<a class="dropdown-item" href="#">item2</a>
</div>
</li>
</ul>
</div>
</nav>
</template>
然后我使用自定义范围的CSS,例如
.navbar-brand{
text-shadow: none;
color: #737373;
font-size:16px;
}
渲染后样式变为
.navbar-brand[data-v-9fbb962c]{
text-shadow: none;
color: #737373;
font-size:16px;
}
但是HTML仍然是
<a href="/admin" class="navbar-brand">Home</a>
而其他元素正确获得了data-v属性