html - 是否可以将具有相同属性值的元素组样式化在一起?
问题描述
我的应用程序的 HTML 如下所示:
<div class="chat">
<div class="message" data-author="Alice">
<div class="content">Hello Bob!<div>
<div class="author">Alice</div>
</div>
<div class="message" data-author="Alice">
<div class="content">How are you today?<div>
<div class="author">Alice</div>
</div>
<div class="message" data-author="Alice">
<div class="content">I am doing great myself!<div>
<div class="author">Alice</div>
</div>
<div class="message" data-author="Bob">
<div class="content">Hey Alice!<div>
<div class="author">Bob</div>
</div>
<div class="message" data-author="Bob">
<div class="content">Nice hearing from you :-)<div>
<div class="author">Bob</div>
</div>
</div>
我想创建一些适用于具有相同作者的所有消息组的样式,例如隐藏.author
子元素,除了最后一个子元素。
有没有办法使用 CSS 属性选择器或其他 CSS 功能来做到这一点?(是否可以在不更改 HTML 的情况下执行此操作)?
解决方案
如果您知道要定位的作者姓名,则可以执行以下操作:
.message[data-author="Bob"]{
color:red;
}
.message[data-author="Alice"]{
color:green;
}
<div class="chat">
<div class="message" data-author="Alice">
<div class="content">Hello Bob!<div>
<div class="author">Alice</div>
</div>
<div class="message" data-author="Alice">
<div class="content">How are you today?<div>
<div class="author">Alice</div>
</div>
<div class="message" data-author="Alice">
<div class="content">I am doing great myself!<div>
<div class="author">Alice</div>
</div>
<div class="message" data-author="Bob">
<div class="content">Hey Alice!<div>
<div class="author">Bob</div>
</div>
<div class="message" data-author="Bob">
<div class="content">Nice hearing from you :-)<div>
<div class="author">Bob</div>
</div>
</div>
推荐阅读
- node.js - 无法在 Typescript + babel + node 中使用导入语法 SyntaxError:无法在模块外使用导入语句
- python - 如何从 Pandas 数据框中删除特定名称的行?
- linux - 将日志从 logstash 发送到 elasticsearch 不匹配
- html -
- 显示数字和上 alpha 的子列表
- mysql - 将一个或多个列结构从一个表复制到另一个
- wpf - 我找不到 Telerik.Windows.Controls.Media 来使用 Telerik RadWebCam
- swift - 如何向 PassthroughSubject 发送错误?
- javascript - 通过遍历数组来更改innerHTML
- canvas - 在画布动画中反转球方向
- r - Factorminer 的 Hclust 对象不会在 Pheatmap 中聚类树状图