html - HTML 元素在其上应用 CSS 时被忽略
问题描述
我一直在使用 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 似乎无法识别图例元素,无论我做什么或如何编写它。如果我使用标签而不是图例,那也是一样的。我也尝试过使用 fieldset (父级)的 nth-child(0) ,但似乎它只是忽略了这个孩子,并没有真正发生任何事情。我认为这与我正在使用的引导程序的 CSS 配置有关,但使用 !important 似乎没有任何作用。
任何帮助将不胜感激。
解决方案
在 Vue 中,如果您使用范围样式标签<style scoped>
,默认情况下您将无法选择子组件。为此,您需要使用深度选择器
<style scoped>
.form-group[required] ::v-deep legend::after {
content: '*';
color: red;
}
</style>
如果没有范围,您的 css 应该可以按预期工作,但我不建议这样做,因为它可能会与其他组件混淆并且调试起来很混乱。
<style>
.form-group[required] legend::after {
content: '*';
color: red;
}
</style>
推荐阅读
- python - 在mongodb中对嵌套数组进行排序
- microsoft-graph-api - 获取收件人在密件抄送时发送到的原始电子邮件地址
- r - 我们可以从日期中提取周数吗
- flask - Google Api 客户端 - AttributeError:“str”对象没有“授权”属性
- python - 如何使用 uproot 加载引用的值 (TRefArray)
- javascript - 我该怎么做才能使这个搜索脚本适用于我的每个表格列?
- android - 意图过滤器适用于模拟器但不适用于设备
- big-o - 大(o)表示法logn或n?
- verilog - 赋值语句中的 == 运算符 (Verilog)
- c++ - `comp` 满足比较要求的 `equiv` 的存在