使用CSS和JS创建金字塔
我有一个包装div和许多内容块。 内容块可以是任何数字。
Something goes here Something goes here . . . Something goes here
我希望使用这些内容块形成金字塔结构,如下所示:
是否有可能实现这样的金字塔? 上面的图片只是一个例子,可以有超过10个内容块甚至更少。
是的,这是完全可能的,但如果没有更精确的要求,很难写下来。 div的数量显然等于元素的数量= 10.底行的长度=(10/2 – 1),每个下一行到顶部减少一个元素等。使用div样式中的绝对定位或将表作为矩阵处理用细胞画。 随着更多行,表解决方案将逐渐变慢,因为所有空的“像素”和在浏览器中重新计算单元格大小和位置时的平方增加开销。
嗯,这不是一项微不足道的任务。 我认为不可能为任意数量的元素编写(有限的)CSS。 它需要这样的东西:
#wrapper { text-align: center; } .content-block { display: inline-block; width: 5em; height: 4em; margin: 0 2.5em; } .content-block:nth-child(n*(n+1)/2)::after { display: block; /* linebreak */ }
nth-child
-selector包含三角形数字 ,但必须具有an+b
forms。