首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >仅当CSS元素位于某个类中时,才能以具有ID的CSS元素为目标吗?

仅当CSS元素位于某个类中时,才能以具有ID的CSS元素为目标吗?
EN

Stack Overflow用户
提问于 2018-06-26 04:05:50
回答 1查看 91关注 0票数 2

我们有我们的应用程序的模式和完整的页面视图。对于modal,我们将一个"modal“类附加到主体,这样我们就可以根据元素是否包含在这个"modal”类中来选择元素。

我们需要针对的几个项目都有ID。像这样选择这些项目是不是不好的做法?

代码语言:javascript
复制
.modal #child-element-with-id { ... }

上面的代码在我测试过的所有浏览器中都工作得很好,但代码审查的人从代码气味的角度对它提出了抱怨。

我知道ID应该是唯一的,不应该嵌套,但这不是一个例外吗?对我来说,这似乎是以ID为目标的最干净的方式,而不是为模式视图和整个页面视图提供单独的ID。

EN

回答 1

Stack Overflow用户

发布于 2018-06-26 04:25:40

这会起作用的,是的。但是,如果需要对多个元素重用此样式,则应创建一个类。

例如,如果您这样做:

代码语言:javascript
复制
.modal #child-element-with-id { /* same style */ }
.modal #child-element-with-id-2 { /* same style */ }
.modal #child-element-with-id-3 { /* same style */ }

那么你应该创建一个类,以避免样式重复。

要回答您的问题,尚无定论,您必须决定选择嵌套ID是否适用于您的用例:)

我能看到的唯一问题是,如果您将ID移动到不同的元素,这可能会导致混淆和难以调试,因为您的CSS期望ID嵌套在一个类中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51031099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档