使用 CSS 在嵌套 div 上重复一组颜色

2023-12-27

我有一组四种颜色,我想将它们应用到嵌套的 div,所以接下来的每个孩子都有不同的颜色。如果有第五层嵌套,我想从第一种颜色开始,并继续进行,即使我有无限深的嵌套。这是否可以仅使用 CSS 选择器来完成?避免 JavaScript?

我目前陷入了以下代码 - 正如您所看到的,粉红色不断应用于第四个之后的所有嵌套 div。

div {
  border: 1px solid black;
  font-weight: bold;
  padding: 30px;
}

div {
  color: red;
}

div>div {
  color: blue;
}

div>div>div {
  color: green;
}

div>div>div>div {
  color: pink;
}
<div>
  1
  <div>
    2
    <div>
      3
      <div>
        4
        <div>
          1
          <div>
            2
            <div>
              3
              <div>
                4
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

我们可以用hue-rotate以获得所需的效果。通过将过滤器设置为90deg每 4 个孩子就会重复一次。通过将起始颜色指定为蓝色并将色调旋转 90 度,我们得到红色。

我认为不可能按照您要求使用纯 css 的方式指定四种不同的颜色,除非您愿意重复div > div > ...理论上的最大巢数?

div {
  border: 1px solid black;
  font-weight: bold;
  padding: 30px;
  color: blue;
  filter: hue-rotate(90deg) saturate(2.5);
}
<div>1
  <div>2
    <div>3
      <div>4
        <div>1
          <div>2
            <div>3
              <div>4
                <div>1
                  <div>2
                    <div>3
                      <div>4
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

lorem ipsum 文本示例:

div {
  border: 1px solid black;
  font-weight: bold;
  padding: 30px;
  color: blue;
  filter: hue-rotate(90deg) saturate(2.5);
}
<div>Mauris rhoncus sollicitudin egestas. Donec eu est est. Phasellus neque justo, faucibus in nisl dignissim, aliquet luctus orci. Fusce bibendum libero ac lectus consequat, in scelerisque orci tempus. Donec aliquam, diam quis dignissim laoreet, magna urna
  mattis libero, non vehicula purus ante nec ipsum. In aliquet ipsum id risus ultrices pellentesque. Sed lobortis ante eget nisi lobortis, sit amet ornare neque lacinia. Donec auctor mauris varius lorem fermentum congue. Suspendisse porta, lorem at molestie
  volutpat, neque justo tempor diam, vel mattis ipsum neque sollicitudin odio. Morbi tincidunt purus eu tellus lobortis euismod id sit amet nulla. Etiam vitae ante eu enim tincidunt laoreet eget nec dolor. Proin varius, risus sed fringilla condimentum,
  ligula dui porta purus, id congue nisl dui id risus. Integer elementum lacus a iaculis pretium. Cras erat lorem, mollis facilisis lectus in, pharetra vulputate augue. Suspendisse quis eleifend enim. Suspendisse at volutpat ex.
  <div>Etiam vitae orci a quam dictum viverra nec id enim. Nam ac sapien at diam commodo elementum. Proin elementum, sem non cursus euismod, risus ante consectetur lectus, eu tempus lacus ipsum id ligula. Donec pretium eros vel tellus fermentum, vitae iaculis
    risus rutrum. Aenean pulvinar fringilla condimentum. In accumsan varius volutpat. Nullam vitae aliquam nunc. Nam in luctus nisl, in pellentesque turpis. Fusce eu pulvinar lacus. Duis suscipit rhoncus velit, vel laoreet nibh fermentum ut. Etiam pulvinar
    odio id felis imperdiet suscipit. Duis dictum dignissim tortor et iaculis.
    <div>Mauris vulputate, leo in sodales eleifend, massa nunc mollis tortor, nec commodo lacus tortor id ante. Quisque porttitor nulla et cursus molestie. Praesent laoreet tincidunt massa at auctor. In et faucibus odio. Duis sit amet ultrices massa, efficitur
      rutrum augue. Integer laoreet ante vitae venenatis ultrices. Aenean quis enim ut lacus scelerisque consequat in id sapien. Integer quam tortor, ornare vel tellus id, hendrerit hendrerit leo. Cras in est at urna rutrum imperdiet. Nulla convallis
      tortor tincidunt massa accumsan, quis suscipit risus eleifend. Aenean justo risus, commodo sit amet lacus sit amet, vulputate commodo nisl.
      <div>Aenean in justo quis mi dictum ultrices non et ligula. Phasellus porttitor gravida magna, vitae placerat sapien maximus et. Curabitur vel neque quis diam commodo tempus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames
        ac turpis egestas. Morbi ut leo non est tristique blandit. Vestibulum eu ullamcorper lorem. Nulla massa elit, auctor a lacus vel, rutrum euismod lectus. Integer vel quam vel sapien finibus placerat bibendum quis massa. In et dolor eu enim vulputate
        convallis nec sit amet purus. Etiam metus ante, iaculis nec gravida nec, vulputate et nisl. Fusce et nunc quis nulla condimentum vestibulum.
        <div>Donec consectetur, nisl sed blandit pharetra, tortor lectus ullamcorper leo, vel rhoncus nisi massa ut ligula. In at ligula ut nisi porttitor congue. Aliquam eget venenatis nisl, eget varius augue. Etiam vel metus et diam finibus tristique. Nullam
          gravida commodo neque ac accumsan. Nunc venenatis fermentum tellus, at consectetur arcu feugiat ut. Pellentesque nec pretium elit, vitae facilisis elit. Nam porttitor molestie aliquam. Ut elementum quam ac bibendum porttitor. Duis lacinia, orci
          et malesuada sollicitudin, arcu nisi sodales urna, consectetur feugiat metus dolor sit amet lacus. Nullam consequat gravida magna, sed pellentesque purus rhoncus et. Vivamus tempor dignissim convallis. Praesent sagittis tincidunt pretium. Vivamus
          vitae posuere nibh.
          <div>Vivamus pellentesque, ante in posuere ullamcorper, urna quam pulvinar neque, nec facilisis libero augue id lectus. Proin nec nunc tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sit amet vehicula eros. Etiam euismod
            erat sit amet vulputate porta. Integer non elementum lacus. Donec iaculis enim vel arcu aliquam, eu vulputate lorem pharetra. Praesent sed ex vel odio rutrum scelerisque. Proin et lobortis nunc. Praesent varius, tortor vel pellentesque rhoncus,
            ante augue tristique tellus, nec finibus justo nisi a dolor. Donec molestie orci arcu, nec pharetra purus tempor vitae. Donec tempor est sit amet lorem lobortis, ac gravida ipsum congue. Donec eget consequat nulla. Sed cursus vulputate porta.
            Quisque tempus, nibh ut blandit semper, massa metus dapibus felis, sit amet imperdiet purus tellus id risus. Vestibulum id consequat mauris.
            <div>Ut tristique porttitor magna, ut eleifend urna. Quisque metus magna, sagittis aliquet pulvinar id, fringilla eget turpis. Nam mollis fringilla magna, at tincidunt sapien pulvinar id. Nam hendrerit sed urna sed finibus. Maecenas mollis enim
              eu sem dictum consequat. Morbi gravida augue ac magna ornare auctor. Sed laoreet id sem a laoreet.
              <div>Cras eu augue sollicitudin, ullamcorper enim et, laoreet mauris. Pellentesque eget pretium erat. Ut ac tincidunt eros. Etiam eu nisi dui. Ut placerat et orci ut dapibus. Ut vitae tellus enim. Quisque nunc arcu, aliquam in blandit nec, ultrices
                ut tellus. Phasellus maximus euismod odio ut luctus. Nunc sollicitudin est tellus, et hendrerit elit egestas eget. Nulla vestibulum sollicitudin finibus. Phasellus ornare nulla nulla, et fringilla ex tempus vel. Aliquam bibendum ultricies
                tortor non cursus. Quisque eleifend velit lorem, et ultricies felis iaculis vitae. Pellentesque eu sapien et nisl facilisis pulvinar nec non augue. Nunc ultrices metus sem, ac ornare risus ultricies eget. Maecenas efficitur rutrum dignissim.


                <div>Nam justo erat, dictum et quam eu, tempor sagittis justo. Fusce auctor vitae libero sit amet tempus. Aenean tempus lacus nisl, vitae luctus nisi aliquet vel. Integer mattis risus quis leo mollis, eu laoreet ante semper. Vestibulum mollis
                  nisl non est aliquet efficitur ac ut turpis. Aenean convallis eget velit in finibus. Donec placerat, libero in mattis convallis, leo lectus pretium leo, nec scelerisque tellus massa in ipsum. Aliquam pulvinar ante et tincidunt bibendum.
                  Mauris scelerisque arcu in lorem semper, in finibus diam ultrices.
                  <div>Ut ornare, nunc varius tincidunt venenatis, arcu elit euismod tortor, ut vehicula urna tellus in tortor. Cras non placerat turpis, ac molestie nibh. In elementum id felis sed bibendum. Cras aliquet dolor quis bibendum dictum. Nullam
                    varius velit ut felis condimentum mattis. Ut dapibus ex vitae lectus sollicitudin imperdiet at eget mauris. Nulla facilisi. Vivamus lacus sem, aliquam ac eros ut, condimentum hendrerit quam. Maecenas non odio purus. Vivamus commodo
                    et lectus vitae consequat. Integer fermentum volutpat mauris, sit amet fringilla sapien pharetra vel. Vestibulum egestas rutrum sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur
                    sed turpis ac nunc feugiat ultrices nec ut lorem. Sed risus turpis, molestie sit amet congue eget, vestibulum eu risus. Proin ullamcorper eleifend mauris, et commodo velit tempor vel.
                    <div>Cras elit felis, dictum a congue id, aliquam vitae dolor. Curabitur imperdiet laoreet ante, vitae dapibus lectus efficitur ultrices. Proin interdum mauris ipsum. Quisque nec posuere magna, ac interdum sapien. Cras mauris dui, accumsan
                      in nibh ac, dapibus finibus odio. Donec rhoncus elit vel nunc sollicitudin placerat. Suspendisse eu mattis enim. Cras et cursus purus. Aliquam suscipit mi et sapien rhoncus, eu feugiat nunc tincidunt.
                      <div>Aenean faucibus pulvinar dolor, et sagittis odio ultrices ac. Aliquam erat volutpat. Sed in purus eget lectus posuere molestie mattis ac nibh. Proin ut dolor bibendum, tristique risus ac, lobortis nisi. Fusce ac diam imperdiet velit
                        vulputate malesuada vitae vel ex. Sed rutrum nibh quis magna auctor, vel congue est rutrum. Maecenas ut magna nibh.
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 CSS 在嵌套 div 上重复一组颜色 的相关文章

  • Flexbox 中的 Bootstrap 列无法在较小的屏幕上换行

    我的网站有一个部分 我在 2 个 div 上使用下面的 CSS 其中一个a标签以使内容在中心垂直对齐 问题是 使用 Flex 样式属性时 理想情况下 当窗口 col md 4会一个一个地堆叠起来 这并没有发生 相反 列变得非常瘦并且仍然并排
  • 将画布缩放到鼠标光标

    我正在编写一个 HTML5 项目 其中涉及使用滚轮放大和缩小图像 我想像谷歌地图一样缩放光标 但我完全不知道如何计算移动 我所拥有的 图像x和y 左上角 图像宽度和高度 光标 x 和 y 相对于画布中心 简而言之 你想要translate
  • Angular - UI 路由器路由 - HTML5 模式

    我正在尝试在我的 Angular 应用程序中使用 HTML5 推送状态链接 我拥有的是一系列类似于以下的路线 stateProvider state product url product productCode templateUrl p
  • 有没有办法为 CSS3 边框图像的每一侧使用不同的图像?

    在 Firefox 和 Safari 上 我可以通过以下 CSS 使用图像作为边框 moz border image url shadow left png 0 7 0 7 round round webkit border image u
  • 使用 javascript 暂停 CSS 动画并跳转到动画中的特定位置

    我有一个完全用CSS动画构建的无尽滑块 我希望能够使用javascript onlcick和键盘输入 来操纵动画 我希望能够从一帧快速运行动画 即加速到另一帧 以便在按下引用滑块中特定图像的按钮时产生跳跃效果 另外 我希望能够通过键盘输入逐
  • 使用 twitter-bootstrap 时使文本区域缩放到网页

    我正在尝试根据页面大小调整文本区域的比例 即我试图使文本区域填充第二个容器和页脚之间的空间 HTML
  • 在 React 组件中动态创建元素

    我创建了一个辅助函数 当我单击按钮时 它可以在组件中动态创建元素 但是它没有显示我尝试附加到父 div 的 html 的一半 它正确地将标签添加为 html 但其余部分只是纯文本 谁能明白为什么吗 用于动态创建内容的函数 function
  • 将选定的日期值从 datepicker 传递到 php

    我在这里发现了类似的问题 但大多数解决方案对我不起作用 我有一个带有日期选择器的表单 我想将所选日期传递到我的 php 文件 但它似乎不起作用 我的 html 是这样的
  • 窗口缩放:网站大小问题和 html 初始缩放值被忽略

    在 Windows 10 上 缩放默认设置为 125 会导致网站大小调整问题 因此我在 Ubuntu 上复制了增加缩放的问题 我试图修复大小改变initial scale以这种方式值 document querySelector meta
  • 填充重叠的圆形区域

    我有两个相交的圆 我想让相交区域具有颜色 即使这两个圆是透明的 我想我可以找到一些方法用 css 来做到这一点mix blend mode财产 但我没有成功 当然 我可以使圆圈具有颜色并降低其不透明度 但我希望它们是白色或透明的 其中只有重
  • 使 Knockout applyBindings 将选择选项视为数字

    我将 Knockout 与 html select option 结合使用 请参阅Fiddle http jsfiddle net hf5gb
  • HTMLPanel 中的 JavaScript

    我想在 HTMLPanel 元素中包含 Javascript 代码 但它不起作用 请你帮助我好吗 提前致谢 脚本 pro js alert hello 使用 HTMLPANEL 不起作用 不显示警报 我认为应该是相反的 HTMLPanel
  • VS2010中是否可以更改CSS验证方案

    我正在 VS2010 中编辑一个简单的 CSS 文件 编辑器似乎对 CSS 的理解相当有限 例如 my rule position relative 生成警告 Validation CSS 1 0 position is not a kno
  • Chrome 中的 HTML5 DataTransfer 检测错误

    尝试使用 Javascript 检测 DataTransfer 对象中是否支持文件属性 以下代码会在 Chrome 中导致 Uncaught ReferenceError DataTransfer is not Defined 但 IE F
  • 在引导汉堡包图标的左侧添加电话和地图图标

    我有一个基本的 bootstrap v3 网站 当导航栏在较小的屏幕上切换到汉堡包图标时 我想添加一个电话图标 链接到电话号码 和一个地图图标 链接到谷歌地图 以便移动用户可以轻松访问它们 我尝试通过在 navbar toggle 按钮之前
  • CSS 特异性还是继承?

    我在这里看过类似的问题 但没有找到适合我的情况的问题 如果我正确地阅读了这篇文章 http css tricks com specials on css specificity http css tricks com specifics o
  • 样式表何时添加到 document.styleSheets

    我正在尝试使用 javascript 动态添加 css 样式表规则 例如示例 2here https developer mozilla org en DOM CSSStyleSheet insertRule 它在大多数情况下都有效 但似乎
  • 使用Delphi检查HTML代码中是否有对象属性值

    如何使用Delphi检查HTML代码中是否有输入对象属性值 there isn t value attribute
  • 如何覆盖 CSS 模块文件中的全局 CSS?

    让我们说在我的global css我有一个 Next js 项目的文件 flex display flex justify content center align items center height 100 我也有一个Layout j
  • 错误:Phonegap 中的白名单拒绝

    我是移动开发新手 我正在使用 Phonegap Cordova 创建跨平台应用程序 我的代码在 Android 上运行良好 但当我将其移植到 iPhone 时 它 显示错误 143 2003 ERROR whitelist rejectio

随机推荐