这个css结构叫啥?

Posted

技术标签:

【中文标题】这个css结构叫啥?【英文标题】:What is this css structure called?这个css结构叫什么? 【发布时间】:2021-04-08 04:42:18 【问题描述】:

我正在与某人一起开发我的第一个 Web 开发项目,我负责前端部分。在我的个人项目中,我一直在使用纯 css,但在这个模板中,我看到他们正在使用其他东西,一种不同的结构,我想。我有点弄清楚它是如何工作的,但因为我以前从未接触过它,这让我很难发展。我想知道它是什么,以便我可以阅读一些文档并更好地理解它。 (例如:通常,当我使用className时,我将类名放在“”之间,但这里就像css.something)你能告诉我它是什么吗?我会在这里留下一个sn-p

.menuItem 
  @apply --marketplaceListingAttributeFontStyles;
  color: var(--matterColor);
  /* Layout */
  position: relative;
  min-width: 300px;
  margin: 0;
  padding: 4px 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Override button styles */
  outline: none;
  text-align: left;
  border: none;
  white-space: nowrap;
  cursor: pointer;
  &:focus,
  &:hover 
    color: var(--matterColorDark);
  
  &:hover .menuItemBorder 
    width: 6px;
  

<button className=css.menuItem onClick=()=> this.selectOption(queryParamName, option.key, dates)>

【问题讨论】:

【参考方案1】:

这是CSS Modules,您可以在这两个链接中阅读更多关于 CSS 用法的信息:

link1

link2

【讨论】:

【参考方案2】:

虽然我对 React 并不太熟悉,但这个 (className=css.menuItem) 是某种模型绑定,因此当 React 完成后,它会将 css.menuItem 的值绑定到渲染的 html 上,最终结果可能是像

<button className=".menuItem" ...>

【讨论】:

【参考方案3】:

您在其中看到的 javascript 格式是一种视图绑定,或者我们可能将其描述为领域特定语言 (DSL)。它是某些框架(可能是 React 或其他前端框架)使用的 Javascript 来构建您在页面上看到的 HTML。我不能确定,因为我不知道我在看什么框架,但我敢打赌,如果你在浏览器中使用“检查”功能,你会在生成的 HTML 中看到这一点由该 Javascript 创建:

<button class="menuItem" onClick="[...]">

如果您期望纯 HTML,那么您应该对这种格式很熟悉。您链接到的那个 Javascript 只是动态地构建这个 HTML。在您提供的示例中,花括号 ( ) 只是 Javascript 库的一个指示符,它需要用某些东西填充占位符,在本例中为 css.menuItem,它转换为类名 menuItem呈现为 css 类标签 (class="menuItem")。

【讨论】:

这里是reactjs,不好意思,忘记说了。但是你为什么要这样使用 CSS 呢?不是无缘无故更复杂吗? 您会使用它,因为它更灵活。这个例子很简单,但是你可能有一个 Javascript 块,它根据一堆条件填充不同的类名。在简单的一端,它可能是在两个类之间选择的布尔条件语句,或者在更复杂的示例中,它可能是一个函数,它生成一个类名作为 Javascript 字符串,该字符串会根据许多因素而变化。我回答的关键词是“动态”。因为类是在 JS 中分配的,而不是硬编码的,所以它可以根据各种因素而改变。【参考方案4】:

您是否查看过 css 对象包含的内容?

据我所知,@apply 将 css 部分置于预编译语言中,例如 SASSSCSS

你没有提到它是否是 ReactJS。如果是这样,那么您正在处理的任何内容很可能都在 JSS 中。

【讨论】:

问题被标记为 [reactjs] 是reactJS,不好意思,我没提 哎呀....有点忽略了这一点。把它放在标题中会更清楚。

以上是关于这个css结构叫啥?的主要内容,如果未能解决你的问题,请参考以下文章

这个 SQL 选择结构叫啥?

这个 &:last Ruby 结构叫啥? [复制]

这种解析器设计模式叫啥?使用包含关键字和函数指针的结构数组的解析器?

数据结构中的是树形的结构都有哪些,算法叫啥名字?

MySQL的SQL语言叫啥?

手臂中间可以曲折的部位叫啥?