CSS转Styled Components - 自动生成JS代码
将普通CSS代码转换为Styled Components的模板字符串格式。
UD5工具箱
核心利用CSS的 :target 伪类。当URL中的hash(如#modal-1)与页面中某个元素的id匹配时,该元素就会匹配:target选择器,从而触发预设的CSS样式(如从opacity:0变为opacity:1),实现弹窗的显示与隐藏。整个过程完全由浏览器原生机制驱动,无需任何JavaScript。
:target是CSS3标准选择器,兼容性极佳。支持所有现代浏览器:Chrome、Firefox、Safari、Edge,甚至IE9+。全球覆盖率超过99.5%,可放心在生产环境使用。
在遮罩层(overlay)内部放置一个透明的全屏<a>标签,其href="#"指向一个不存在的hash。点击遮罩时实际点击的是该链接,URL hash改变后:target状态消失,弹窗自动关闭。这是一个巧妙且广泛使用的CSS技巧。
弹窗宽度应使用max-width配合百分比(如width:92%),确保在小屏幕上不会溢出。同时建议设置max-height和overflow-y:auto,防止长内容超出可视区域。关闭按钮需要足够大的触摸区域(至少44×44px)。
纯CSS优势:零JS依赖、体积更小、浏览器原生支持、不受JS禁用影响、无内存泄漏风险。劣势:无法动态传参、无法条件判断(如表单验证)、弹窗状态绑定URL hash可能影响浏览历史、无法同时显示多个实例。适合静态内容展示、提示信息等场景。
每个弹窗使用唯一的id(如modal-1、modal-2),触发链接的href分别指向对应的#id。每个弹窗独立定义:target样式。同一时间只能有一个弹窗处于:target状态(因为URL只有一个hash),这恰好符合模态弹窗的设计逻辑。
使用transition属性在弹窗的默认状态和:target状态之间建立过渡。遮罩层过渡opacity,弹窗内容过渡transform和opacity。注意display:none无法产生过渡动画,应使用opacity+pointer-events组合来控制显隐。
为弹窗容器添加role="dialog"和aria-modal="true"属性;为关闭按钮添加aria-label="关闭";确保触发按钮使用语义化的<a>标签;弹窗打开时内容应获得视觉焦点指示。这些措施能帮助屏幕阅读器用户更好地理解页面结构。
除了:target方案,还可以使用隐藏的<input type="checkbox">配合:checked伪类来控制弹窗。用<label>作为触发按钮,复选框的选中状态控制弹窗显隐。此方案不依赖URL hash,但HTML结构稍复杂。两种方案各有适用场景,本工具主要展示更简洁的:target方案。
将普通CSS代码转换为Styled Components的模板字符串格式。
使用原生HTML Popover属性创建提示、菜单与对话框,展示四种触发方式及样式定制。
设置总页数与当前页,生成数字式或省略式分页导航条。
配置字体、颜色、背景,生成可粘贴到浏览器控制台的%c格式化日志代码。
生成形似iOS或Android的开关切换按钮,支持动画和自定义颜色。
生成用于网页各区块间的波浪或倾斜过渡分割线,导出为SVG或CSS代码。
打造自定义形状和颜色的选择框,生成隐藏原生控件并替换样式的完整代码。
在线生成纯CSS三角形、箭头、气泡指示器,调整方向、大小和颜色,一键复制CSS代码。
上传序列帧图片,合成spritesheet并生成对应CSS steps()帧动画代码。
在线CSS动画代码生成工具,可视化定义关键帧、持续时间、缓动函数等,生成@keyframes动画CSS。
生成经典的“...”打字机加载动画,可定颜色和大小,纯CSS实现。
配置下划线从中间或一侧滑出的动画,生成无限菜单效果代码。
输入最小视口和最大视口下的字号,生成利用clamp()的流畅缩放字体规则。
展示一些常用内置HTML元素和自定义元素例子,提供代码复制。
拖拽添加图片与文字,生成响应式轮播图Slider,支持自动播放和导航点,提供HTML/CSS/JS代码。
将HTML标记转换为Pug(原Jade)的缩进语法模板,去除尖括号,让模板开发更快速。
输入CSS选择器和属性值,瞬间预览在当前页面元素上的效果(不改变实际样式)。
在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
设置浏览器标题和图标,模拟在暗色/亮色主题下标签栏的样子。
将HTML代码转换为兼容React JSX的代码(class→className,style→对象等)。
上传GIF并自动水平平铺提取各帧,生成对应的CSS精灵图定位代码。
选中页面上的某个HTML元素,利用html2canvas将其渲染为PNG图片下载。
拖拽文本框、下拉框、单选复选等元素,排列组成表单,导出整洁的HTML表单结构代码。
交互式调整滚动条宽度、滑块颜色、圆角等,预览容器滚动效果,复制::-webkit-scrollbar代码。
设定一个比例,生成CSS代码并在预览框中展示该比例容器的实际尺寸。
选择条纹、网格、波点等预设图案,调节颜色和尺寸,生成纯CSS background代码。
创建当用户离线时展示的简单HTML页面,结合Service Worker使用。
在时间轴上拖拽添加属性关键帧,实时预览动画并生成 @keyframes 代码。
在时间轴上拖拽一个元素的位置和样式,自动录制并生成对应的CSS @keyframes动画代码。
调整 text-decoration-line、style、color、thickness 等属性,实时预览文字装饰效果并生成代码。