Tailwind CSS 核心语法篇 三:边框
发表于更新于
字数总计:2.1k阅读时长:9分钟阅读量: 广东
前端技术前端三方库Tailwind CSS 核心语法篇 三:边框
Prorise
3. 边框 (Borders)
边框(Borders)用于在元素周围创建可见的轮廓线,是组织和分隔内容、增强组件视觉层次感的重要工具。通过组合使用圆角、宽度、颜色和样式工具,可以轻松地为按钮、卡片、输入框等元素添加精美的边框效果。
3.1 边框圆角 (Border Radius)
圆角是现代 UI 设计中不可或缺的元素,它可以让界面看起来更柔和、更友好。rounded-{size}
工具用于快速为元素添加不同程度的圆角,其中 rounded-full
是创建圆形头像或徽章的利器。
常用类名 | 说明 | CSS 等效示例 |
---|
rounded-sm | 小圆角 | border-radius: 0.125rem; |
rounded-lg | 大圆角 | border-radius: 0.5rem; |
rounded-xl | 超大圆角 | border-radius: 0.75rem; |
rounded-full | 最常用。完全圆角,用于创建圆形元素 | border-radius: 9999px; |
rounded-t-lg | 仅在 顶部 应用大圆角 | border-top-left-radius: 0.5rem; ... |
rounded-r-lg | 仅在 右侧 应用大圆角 | border-top-right-radius: 0.5rem; ... |
代码范例:不同圆角效果的展示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Border Radius</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-slate-100 p-8 flex items-center justify-center space-x-8"> <div class="w-24 h-24 bg-sky-500 flex items-center justify-center text-white font-bold rounded-lg shadow-md"> -lg </div> <img src="https://picsum.photos/100" alt="Avatar" class="w-24 h-24 rounded-full shadow-md object-cover" /> <div class="w-24 h-24 bg-sky-500 flex items-center justify-center text-white font-bold rounded-t-xl shadow-md"> -t-xl </div> </body> </html>
|
3.2 边框宽度、颜色与样式 (Width, Color & Style)
边框的宽度、颜色和样式是定义其视觉表现的基础。这三者通常会结合使用。border
类用于设置一个默认的 1px 边框,border-{side}
可以只在特定边上添加边框,而 border-{style}
则可以改变边框的线条样式。
实用技巧: 在处理表单输入框时,通过 focus:
伪类来改变边框颜色 (focus:border-sky-500
) 是提升用户体验的常见做法。
常用类名 | 类别 | 说明 |
---|
border | Width | 在所有边上设置 1px 宽度的边框 |
border-4 | Width | 在所有边上设置 4px 宽度的边框 |
border-b-2 | Width | 常用。仅在底部设置 2px 宽度的边框,常用于分隔线 |
border-slate-300 | Color | 设置边框颜色为 slate-300 |
border-sky-500 | Color | 设置边框颜色为 sky-500 |
border-solid | Style | 实线边框 (默认) |
border-dashed | Style | 虚线边框 |
border-dotted | Style | 点状边框 |
代码范例:带交互效果的输入框
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Border Width & Color</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-slate-100 p-8 flex items-center justify-center">
<input type="text" placeholder="Click me" class="border border-slate-300 rounded-md px-3 py-2 transition-colors focus:outline-none focus:border-sky-500 focus:ring-1 focus:ring-sky-500" /> </body> </html>
|
3.3 分隔线 (Divide)
divide
工具类可以方便地在 Flex 或 Grid 布局的 子元素之间 添加边框分隔线,而无需为每个子元素单独添加边框。这对于创建列表、菜单或分段控件非常高效。
核心用法:
- 在父元素上添加
divide-y
(水平分割) 或 divide-x
(垂直分割)。 - 在父元素上添加
divide-{color}
来设置分隔线的颜色。
常用类名 | 说明 |
---|
divide-y | 在 Flex (列) 或 Grid 布局的子元素之间添加 水平 分隔线 |
divide-x | 在 Flex (行) 布局的子元素之间添加 垂直 分隔线 |
divide-slate-200 | 设置分隔线的颜色 |
divide-dashed | 设置分隔线的样式为虚线 |
代码范例:使用 divide
创建一个列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Divide Utility</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-slate-100 p-8 flex items-center justify-center"> <div class="w-full max-w-md bg-white rounded-lg shadow overflow-hidden"> <ul class="divide-y divide-slate-200"> <li class="px-6 py-4 hover:bg-slate-50">First Item</li> <li class="px-6 py-4 hover:bg-slate-50">Second Item</li> <li class="px-6 py-4 hover:bg-slate-50">Third Item</li> </ul> </div> </body> </html>
|
3.4 轮廓与外环 (Outline & Ring)
轮廓(outline
)和外环(ring
)用于在元素边框 外部 绘制线条,它们 不占用布局空间,因此不会引起元素尺寸变化或推开相邻元素。这使得它们成为处理 焦点状态
的理想选择。
Ring vs. Outline:
ring
(外环): 推荐使用。ring
工具类可以很好地处理圆角,并且支持 ring-offset
(外环偏移),可以创建出更美观的焦点效果。outline
(轮廓): 传统方式,但对圆角的支持不佳,样式选项也较少。
常用类名 | 类别 | 说明 |
---|
focus:ring-2 | Ring Width | 获得焦点时,显示一个 2px 宽的外环 |
focus:ring-blue-500 | Ring Color | 设置焦点外环的颜色 |
focus:ring-offset-2 | Ring Offset | 设置外环的偏移量,使其与元素本身产生间距 |
outline-none | Outline | 移除浏览器默认的轮廓样式 |
代码范例:使用 ring
创建现代化的焦点效果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Ring Utility</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-slate-100 p-8 flex items-center justify-center space-x-6">
<button class="px-6 py-2 bg-blue-600 text-white rounded-lg shadow focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"> Click Me </button> </body> </html>
|