84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
所以我有我想要做的设计。基本上它是一个从页面左下角到右上角的时间线。此外,我需要在行之间放置一些 div 元素。
我也希望能够做出响应,具体来说,它的长度会减少,但我仍然希望线条向上突出。
对于如何使用 ReactJS 和 TailwindCSS 实现这一点,有什么建议吗?
我在互联网上找到的例子是在线水平和垂直时间轴样式。没有关于弯曲时间线的示例
我创建了一个类似于您提供的图像的时间线,主要使用 grid。
grid
在我创建的示例中,有 3 个自定义实用程序一个>:
@tailwind base; @tailwind components; @tailwind utilities; @layer utilities { .borderGray { @apply border-y-[1px] border-[lightgray] text-center; } .textClass { @apply m-2 break-words border-2 border-black text-[0.8rem] sm:text-sm md:text-base; } .slantedLine { background: linear-gradient( to top left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 1px), lightgray 50%, rgba(0, 0, 0, 0) calc(50% + 1px), rgba(0, 0, 0, 0) 100% ); } }
borderGray
textClass
font-size
slantedLine
现在,转到 HTML。
HTML
我创建了三种不同的变体,可以根据屏幕尺寸从一种变体更改为另一种变体,以防您想在响应式设计中使用多种变体。 这些变体如下所示:
这就是引擎盖下的样子:
Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link Some Text/Link
Some Text/Link
Tailwind 播放
这些变体之间存在三个差异:
col-span-{n}
grid-cols-{n}
grid-rows-{n}
col-start-{n}
row-start-{n}
每个奇数元素只是文本区域。我们在这些 div 中插入一个段落来显示所需的文本/链接:
每个偶数元素都是对角线类的一个区域 (slantedLine)。对角线从左下角到右上角。当我们将两个带有这种线条的元素放在一起时,我们会得到顶部和底部对角边框的效果:
一起:
它可能不会为您提供您正在寻找的确切设计,但它可以让您了解如何从这里继续前进。
如果您有疑问,请告诉我。 我希望它有所帮助。
我创建了一个类似于您提供的图像的时间线,主要使用
grid
。在我创建的示例中,有 3 个自定义实用程序一个>:
main.css:
borderGray
类在元素的顶部和底部创建灰色边框并将文本居中。textClass
负责font-size
响应能力。这个类可以完全改变。这里看起来很方便。slantedLine
类创建一条从左下角到右上角穿过元素的对角线。这是我曾经得到的答案: 在 div 背景中绘制对角线CSS现在,转到
HTML
。我创建了三种不同的变体,可以根据屏幕尺寸从一种变体更改为另一种变体,以防您想在响应式设计中使用多种变体。 这些变体如下所示:
这就是引擎盖下的样子:
HTML:
Tailwind 播放
说明:
这些变体之间存在三个差异:
col-span-{n}
。 文档grid-cols-{n}
和grid-rows-{n}
。 Docs-1 Docs-2grid
内每个元素的col-start-{n}
和row-start-{n}
。 Docs-1每个奇数元素只是文本区域。我们在这些 div 中插入一个段落来显示所需的文本/链接:
每个偶数元素都是对角线类的一个区域 (
slantedLine
)。对角线从左下角到右上角。当我们将两个带有这种线条的元素放在一起时,我们会得到顶部和底部对角边框的效果:一起:
它可能不会为您提供您正在寻找的确切设计,但它可以让您了解如何从这里继续前进。
如果您有疑问,请告诉我。 我希望它有所帮助。