我正在尝试在网页上实现菜单设计,但我被卡住了。
概念是这样的:有两个垂直列,一个菜单和一个内容容器。菜单的背景是从白色到灰色的线性渐变。内容的背景是从灰色到白色的线性背景。菜单包含可变高度的导航列表。当一个导航项被选中时,它会采用一个与它旁边的内容容器的颜色混合的背景。
这是一张图片来说明我的意思:
以下是约束:
菜单中的某些元素可以扩展或收缩。我总是不知道菜单的大小
元素的数量可以改变
但确切的渐变颜色不会改变
不知道整个网页/内容区域的高度
未选择的菜单项不需要混合到导航容器的渐变中
是否可以单独使用 CSS 来做到这一点?我考虑使用 clip 属性,但它涉及到我绝对定位元素和其中的文本,我不能这样做,因为我不知道会有多少。我想不出任何符合约束的东西。
编辑:我们可以修改设计以将未选择的菜单项保持为白色,然后在菜单元素完成后启动白色到灰色的渐变。但我看不到这样做的方法,因为列的高度可能会有所不同。