HTML 元素在应用 CSS 时被忽略

标签 html css vue.js

我一直在使用 Bootstrap 的 vue form-group 来创建输入字段。 我正在尝试在“图例”元素上为以下代码应用某些 CSS:

<fieldset id="__BVID__59" class="form-group" required="required">
<legend class="col-form-label pt-0">Login</legend>
<div tabindex="-1" role="group">
<input type="text" class="form-control">
<!----><!----><!---->
</div>
</fieldset>

我的目标是为标签添加所需的星号,因此我的建议是:

.form-group[required] legend::after {
  content: '*';
  color: red;
}

但我的 CSS 似乎无法识别图例元素,无论我做什么或如何编写它。 如果我使用标签而不是图例,也是一样的。 我也尝试过使用字段集(父级)的 nth-child(0) 但它似乎只是忽略了这个 child 而没有真正发生。我认为这与我正在使用的 Bootstrap 的 CSS 配置有关,但也使用 !important 似乎没有做任何事情。

如有任何帮助,我们将不胜感激。

最佳答案

在 Vue 中,如果你使用范围样式标签 <style scoped>默认情况下,您将无法选择子组件。为此,您需要使用 deep selector

<style scoped>
.form-group[required] ::v-deep legend::after {
  content: '*';
  color: red;
}
</style>

如果没有作用域,您的 css 应该可以按预期工作,但我不建议这样做,因为它会与其他组件混淆并且难以调试。

<style>
.form-group[required] legend::after {
  content: '*';
  color: red;
}
</style>

关于HTML 元素在应用 CSS 时被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58446734/

相关文章:

html - 在另一个 css 中包含一个 css 类

javascript - 当一个表格行的高度增加时,如何自动降低所有其他表格行的高度?

php - Wordpress 不会在所有页面上显示导航菜单

javascript - 图像高度超过带有附加元素的容器

html - 页眉与正文不在一条直线上

vue.js - 提交或关闭对话框后清除对话框表单的最佳方法

html - 在 HTML 中创建表格

javascript - 在 HTML 中访问 SVG

css - 在 Vue CLI 中,我如何使用 sass 而不是 node-sass(s​​ass-loader 的默认值)?

javascript - 类型错误 : Cannot read property 'get' of undefined - Vue-resource and Nuxt