热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为网页开发场景设计,能够根据用户需求生成精准的CSS按钮样式代码。通过分析按钮的功能定位、视觉风格和交互需求,提供符合现代网页标准的响应式设计方案。支持多种按钮类型和状态样式,确保代码的规范性、兼容性和可维护性,帮助开发者快速实现美观且功能完善的按钮组件,提升用户界面开发效率。
/* Primary Gradient Button (large) with hover glow, click ripple and shadow */
/* Author: Original, standards-based CSS. Tested on modern browsers. */
:root {
/* Primary palette derived from #FF6A00 */
--pr-300: #FFA057;
--pr-400: #FF8A33;
--pr-500: #FF6A00; /* main */
--pr-600: #E65F00;
--pr-700: #C74F00;
/* Shadows and glow */
--shadow-sm: 0 2px 6px rgba(0,0,0,0.12);
--shadow-md: 0 8px 20px rgba(0,0,0,0.18);
--glow: 0 0 0 8px rgba(255,106,0,0.16);
/* Focus ring */
--focus-ring: 0 0 0 4px rgba(255,106,0,0.38);
}
.btn {
/* Reset and base */
-webkit-tap-highlight-color: transparent;
appearance: none;
user-select: none;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
font-family: inherit;
font-weight: 600;
line-height: 1.2;
text-align: center;
text-decoration: none;
border: 0;
border-radius: 12px;
cursor: pointer;
position: relative;
overflow: hidden; /* needed for ripple clipping */
white-space: nowrap;
transition:
transform 160ms ease,
box-shadow 200ms ease,
filter 200ms ease,
background-position 280ms ease;
/* Prevent layout shift when pressing */
will-change: transform, box-shadow, background-position;
}
/* Size: large */
.btn--lg {
font-size: 1rem; /* 16px base */
padding: 0.95rem 1.35rem; /* visual height ≈ 48px */
min-height: 48px;
min-width: 44px; /* accessibility target */
border-radius: 14px; /* a touch softer on large size */
}
/* Primary gradient style */
.btn--primary {
color: #fff;
background-color: var(--pr-500); /* fallback if gradients disabled */
background-image: linear-gradient(
135deg,
var(--pr-400) 0%,
var(--pr-500) 50%,
var(--pr-600) 100%
);
/* Subtle sheen on hover via background motion */
background-size: 160% 160%;
background-position: 50% 50%;
/* Depth + soft ambient color shadow */
box-shadow:
var(--shadow-sm),
0 10px 24px rgba(255,106,0,0.28);
}
/* Hover: glow and slight gradient drift */
.btn--primary:hover:not(:disabled, [aria-disabled="true"]) {
background-position: 35% 65%;
box-shadow:
var(--shadow-md),
0 0 0 0 rgba(0,0,0,0), /* placeholder slot */
var(--glow); /* colored hover glow */
transform: translateY(-1px);
}
/* Focus-visible: accessible ring without moving layout */
.btn--primary:focus-visible {
outline: none;
box-shadow:
var(--shadow-md),
var(--focus-ring);
}
/* Active/pressed: tighter shadow, slight press-in */
.btn--primary:active:not(:disabled, [aria-disabled="true"]) {
background-position: 60% 40%;
transform: translateY(0) scale(0.985);
box-shadow:
0 2px 8px rgba(0,0,0,0.20),
0 6px 14px rgba(255,106,0,0.20);
}
/* Disabled state: dimmed, no interactions */
.btn--primary:disabled,
.btn--primary[aria-disabled="true"] {
opacity: 0.6;
filter: grayscale(6%);
cursor: not-allowed;
box-shadow: var(--shadow-sm);
}
/* Hover glow fine-tuning for devices that support hover */
@media (hover: hover) and (pointer: fine) {
.btn--primary:hover:not(:disabled, [aria-disabled="true"]) {
filter: saturate(1.05);
}
}
/* Click ripple (centered, CSS-only) */
.btn--primary::after {
content: "";
position: absolute;
left: 50%;
top: 50%;
width: 22rem;
height: 22rem;
pointer-events: none;
border-radius: 50%;
transform: translate(-50%, -50%) scale(0);
opacity: 0;
/* Light ripple that works on warm gradients */
background: radial-gradient(
circle,
rgba(255,255,255,0.55) 0%,
rgba(255,255,255,0.35) 20%,
rgba(255,255,255,0.18) 40%,
rgba(255,255,255,0) 65%
);
}
.btn--primary:active::after {
animation: btn-ripple 620ms ease-out forwards;
}
@keyframes btn-ripple {
0% { transform: translate(-50%, -50%) scale(0); opacity: 0.45; }
60% { transform: translate(-50%, -50%) scale(1); opacity: 0.25; }
100% { transform: translate(-50%, -50%) scale(1.1); opacity: 0; }
}
/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
.btn,
.btn--primary {
transition: none;
}
.btn--primary:active::after {
animation-duration: 0ms;
}
}
/* Secondary · Minimal · Medium · color: rgb(91,107,122) */
:root {
/* 使用RGB组件便于在不同透明度下复用 */
--btn-accent-rgb: 91, 107, 122; /* #5B6B7A */
--btn-radius: 6px;
--btn-font-weight: 600;
--btn-height-md: 40px; /* Medium 尺寸 */
--btn-padding-x-md: 16px;
--btn-gap: 0.5rem;
--btn-transition: 120ms ease;
}
/* 基础按钮 */
.btn {
-webkit-appearance: none;
appearance: none;
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--btn-gap);
box-sizing: border-box;
min-height: var(--btn-height-md);
padding: 0 var(--btn-padding-x-md);
border-radius: var(--btn-radius);
border: 1px solid transparent;
font: inherit;
font-weight: var(--btn-font-weight);
line-height: 1.2;
text-decoration: none;
white-space: nowrap;
background-color: transparent;
color: rgb(var(--btn-accent-rgb));
cursor: pointer;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
transition:
color var(--btn-transition),
background-color var(--btn-transition),
border-color var(--btn-transition);
}
/* Secondary · Minimal 主题 */
.btn--secondary {
background-color: transparent;
color: rgb(var(--btn-accent-rgb));
border-color: rgba(var(--btn-accent-rgb), 0.35);
}
/* Hover:轻微背景填充 + 边框强化 */
.btn--secondary:hover {
background-color: rgba(var(--btn-accent-rgb), 0.08);
border-color: rgba(var(--btn-accent-rgb), 0.55);
}
/* Active:略加强对比 */
.btn--secondary:active {
background-color: rgba(var(--btn-accent-rgb), 0.12);
border-color: rgba(var(--btn-accent-rgb), 0.65);
}
/* Focus:可见焦点环(键盘可达性) */
.btn--secondary:focus {
outline: 2px solid rgba(var(--btn-accent-rgb), 0.6);
outline-offset: 2px;
}
/* 优化:仅在需要时显示 */
.btn--secondary:focus:not(:focus-visible) {
outline: none;
}
/* Disabled(同时覆盖aria-disabled用于非按钮元素) */
.btn:disabled,
.btn[aria-disabled="true"] {
color: rgba(var(--btn-accent-rgb), 0.60);
border-color: rgba(var(--btn-accent-rgb), 0.25);
background-color: transparent;
cursor: not-allowed;
pointer-events: none;
opacity: 0.9; /* 保持文本清晰,避免过度淡化 */
}
/* 粗指针设备(移动端)提升可点区域 */
@media (pointer: coarse) {
.btn {
min-height: 44px;
padding-inline: 18px;
}
}
/* 减少动画偏好 */
@media (prefers-reduced-motion: reduce) {
.btn {
transition: none;
}
}
/* 高对比模式适配(Windows 强制颜色) */
@media (forced-colors: active) {
.btn--secondary {
border-color: currentColor;
background-color: transparent;
}
.btn--secondary:focus {
outline-color: Highlight;
}
}
<button class="btn btn--secondary" type="button">次要操作</button>
<button class="btn btn--secondary" type="button" disabled>处理中</button>
<a class="btn btn--secondary" href="#!"
role="button" aria-disabled="true" tabindex="-1">不可用</a>
<button class="btn btn--secondary" type="button">
<svg aria-hidden="true" width="16" height="16" viewBox="0 0 16 16">...</svg>
次要操作
</button>
/* 全局替换主色 */
:root { --btn-accent-rgb: 20, 110, 190; }
/* 或针对单个按钮 */
.custom-slate { --btn-accent-rgb: 91, 107, 122; }
<button class="btn btn--secondary custom-slate">操作</button>
/* Success • Rounded • Small • Ripple • Shadow
Color: #2ECC71
Class combo example: .btn.btn--success.btn--sm.btn--rounded.btn--ripple.btn--shadow
*/
/* 1) Base button reset and layout */
.btn {
appearance: none;
-webkit-tap-highlight-color: transparent;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
font: 600 0.875rem/1.2 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
letter-spacing: 0.01em;
border: 1px solid transparent;
background: transparent;
color: inherit;
user-select: none;
cursor: pointer;
text-decoration: none;
white-space: nowrap;
vertical-align: middle;
transition:
background-color 160ms ease,
color 160ms ease,
border-color 160ms ease,
box-shadow 180ms ease,
transform 80ms ease;
/* Minimum touch target for small without oversizing visually */
min-inline-size: 2rem;
}
/* 2) Size — small */
.btn--sm {
padding-block: 0.375rem; /* 6px */
padding-inline: 0.75rem; /* 12px */
min-block-size: 2rem; /* 32px */
border-radius: 0.5rem; /* default radius; will be overridden by --rounded */
}
/* 3) Shape — rounded (pill) */
.btn--rounded {
border-radius: 9999px;
}
/* 4) Visual — success theme */
.btn--success {
/* Color tokens for this variant */
--btn-bg: #2ECC71; /* base */
--btn-bg-h: #27AE60; /* hover */
--btn-bg-a: #1F8F52; /* active/pressed */
--btn-bd: #1F8F52; /* border */
/* Accessible text on #2ECC71 requires dark text (white fails WCAG on this green) */
--btn-fg: #0B2819;
background-color: var(--btn-bg);
border-color: var(--btn-bd);
color: var(--btn-fg);
}
/* Hover (mouse/hover-capable only) */
@media (hover: hover) and (pointer: fine) {
.btn--success:hover:not(:disabled):not([aria-disabled="true"]) {
background-color: var(--btn-bg-h);
border-color: var(--btn-bg-h);
}
}
/* Active/pressed */
.btn--success:active:not(:disabled):not([aria-disabled="true"]) {
background-color: var(--btn-bg-a);
border-color: var(--btn-bg-a);
transform: translateY(0.5px);
}
/* Focus ring (with :focus-visible fallback) */
.btn:focus {
outline: 3px solid rgba(46, 204, 113, 0.35);
outline-offset: 2px;
}
.btn:focus:not(:focus-visible) {
outline: none;
}
/* Disabled */
.btn:disabled,
.btn[aria-disabled="true"],
.btn.is-disabled {
background-color: #9FE3BF; /* tinted disabled */
border-color: #8ACFAA;
color: #3D664F;
box-shadow: none !important;
cursor: not-allowed;
pointer-events: none;
transform: none;
}
/* 5) Shadow (elevation) */
.btn--shadow {
box-shadow:
0 2px 6px rgba(16, 24, 40, 0.16),
0 1px 2px rgba(16, 24, 40, 0.08);
}
@media (hover: hover) and (pointer: fine) {
.btn--shadow:hover:not(:disabled):not([aria-disabled="true"]) {
box-shadow:
0 8px 20px rgba(16, 24, 40, 0.22),
0 3px 8px rgba(16, 24, 40, 0.12);
}
}
.btn--shadow:active:not(:disabled):not([aria-disabled="true"]) {
box-shadow:
0 4px 10px rgba(16, 24, 40, 0.20),
0 2px 4px rgba(16, 24, 40, 0.12);
}
/* 6) Click ripple (CSS-first, click-position–aware via optional CSS vars) */
.btn--ripple {
position: relative;
overflow: hidden; /* contain ripple */
isolation: isolate; /* keep ripple above background, below focus ring */
}
.btn--ripple::after {
content: "";
position: absolute;
inset: 0;
/* Radial at click point (defaults to center) */
background: radial-gradient(
circle at var(--ripple-x, 50%) var(--ripple-y, 50%),
rgba(255, 255, 255, 0.45),
transparent 40%
);
transform: scale(0);
opacity: 0;
transition: transform 360ms ease, opacity 700ms ease;
pointer-events: none;
z-index: 0;
}
.btn--ripple:active::after {
transform: scale(3);
opacity: 1;
transition: transform 260ms ease, opacity 800ms ease;
}
/* 7) Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
.btn,
.btn::after {
transition: none !important;
}
}
/* 8) High-contrast/forced-colors fallback */
@media (forced-colors: active) {
.btn--success {
background: ButtonFace;
color: ButtonText;
border-color: ButtonText;
}
}
结构与命名
颜色与可访问性
状态与交互
水波效果(click-ripple)
阴影效果
性能与移动端
<button class="btn btn--success btn--sm btn--rounded btn--ripple btn--shadow">确定</button><a class="btn btn--success btn--sm btn--rounded btn--ripple btn--shadow" role="button" href="#">继续</a><button disabled ...>;非按钮元素建议加 aria-disabled="true"。target.style.setProperty('--ripple-x', offsetX + 'px') 和 ...('--ripple-y', offsetY + 'px')。若不设置,水波将从中心扩散,依然生效。<button ...><svg ...></svg>提交</button>。让产品、设计与前端在几分钟内生成“品牌级”网页按钮样式方案:只需输入按钮类型、风格、主色、尺寸与特殊效果,即可获得可直接应用的样式代码与使用指南;面向电商、后台、移动端与表单等高频场景,统一按钮规范、完善交互状态与动效,兼顾美观、可访问与兼容性,显著缩短开发周期、减少返工,提升页面质感与转化率。
在需求频繁变动下,快速产出可复用按钮样式,统一状态与尺寸规范,显著缩短页面搭建与联调周期。
将设计稿中的按钮风格快速落地为页面样式,验证动效与响应式效果,减少与开发的沟通往返。
为促销、下单、试用等关键动作生成高点击按钮方案,统一品牌风格,强化转化路径的视觉引导力。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期