首页 > web前端 > css教程 > 正文

CSS&# 独生子而不是条件逻辑

DDD
发布: 2024-10-26 11:09:29
原创
522 人浏览过

在我使用的许多前端框架中,都有将三元组或 if 分支注入到 HTML 逻辑中的选项。这是我经常使用的逻辑。一种特殊情况是在没有数据时显示。

我刚刚偶然发现了一种 CSS 模式,它让我的生活变得更加轻松::only-child 伪类。

反应

在 React 中,我会做这样的“事情”...

{
  data.length === 0
    ? <div>Nothing to show.</div>
    : <TableWithRecords />
}
登录后复制

在 Angular 中,我会做这样的“事情”...

@if (data.length === 0) {
   <div>Nothing to show.</div>
} @else {
   <TableWithRecords />
}
登录后复制

使用CSS

简单来说,我有两种情况。

  1. 没有数据。
  2. 有数据。
<h2>No Data Showing</h2>
<ul>
  <li class="handle-no-data">Nothing to show.</li>
  <!-- <li>Data here</li> -->
</ul>

<h2>Data Showing</h2>
<ul>
  <li class="handle-no-data">Nothing to show.</li>
  <li>Data here</li>
</ul>
登录后复制

使用简单的 CSS 类 .single ...

.handle-no-data:not(:only-child) {
  display: none;
}
.handle-no-data:only-child {
  display: flex;
}
登录后复制

这个 CSS 可以简化为 ...

.handle-no-data {
  &:not(:only-child) {
    display: none;
  }
  &:only-child {
    display: flex;
  }
}
登录后复制

这是上面代码的结果...

CSS

概括

如您所见,我必须将数据处理移至表级别,但 CSS 非常直接地处理“无数据”场景。

这太令人兴奋了!

以上是CSS&# 独生子而不是条件逻辑的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!