各大网站推广平台网站怎么做才会有收录

张小明 2026/1/13 12:42:50
各大网站推广平台,网站怎么做才会有收录,推广网站可以做跳转吗,石家庄seo推广优化#x1f4c5; 我们继续 50 个小项目挑战#xff01;—— FAQCollapse组件 仓库地址#xff1a;https://gitee.com/hhm-hhm/50days50projects.git 构建一个带有动画效果的常见问题#xff08;FAQ#xff09;折叠面板组件。该组件支持点击展开/收起#xff0c;并为每个问答… 我们继续 50 个小项目挑战——FAQCollapse组件仓库地址https://gitee.com/hhm-hhm/50days50projects.git构建一个带有动画效果的常见问题FAQ折叠面板组件。该组件支持点击展开/收起并为每个问答项添加了优雅的过渡动画。 组件目标展示一组常见问题FAQ。每个问题可以独立展开与收起。使用 TailwindCSS 快速构建美观的 UI 界面。添加平滑的动画过渡效果提升用户体验。FAQCollapse.tsx 组件实现import React, { useState } from react interface FAQItem { id: number question: string answer: string isOpen: boolean } const FAQCollapse: React.FC () { const [faqList, setFaqList] useStateFAQItem[]([ { id: 1, question: What is React?, answer: React is a JavaScript library for building user interfaces, developed by Facebook. It uses a component-based architecture and a virtual DOM for efficient rendering., isOpen: false, }, { id: 2, question: How do I install Tailwind CSS in a Vite React project?, answer: You can install Tailwind CSS by running: npm install -D tailwindcss postcss autoprefixer, then npx tailwindcss init -p, and configure tailwind.config.js and postcss.config.js accordingly., isOpen: false, }, { id: 3, question: Why use TypeScript with React?, answer: TypeScript adds static typing to JavaScript, helping catch bugs at compile time, improving code maintainability, and providing better autocompletion and refactoring support in IDEs., isOpen: false, }, { id: 4, question: Can I use this FAQ component in a production app?, answer: Yes! This component is built with best practices: type safety, proper state management, accessibility considerations, and responsive design using Tailwind CSS., isOpen: false, }, ]) const toggleOpen (id: number) { setFaqList((prev) prev.map((item) (item.id id ? { ...item, isOpen: !item.isOpen } : item)) ) } return ( div classNamem-12 flex flex-col items-center justify-center gap-8 text-white h3 classNamefont-mono text-2xl font-boldFrequently Asked Questions/h3 {faqList.map((item) ( div key{item.id} classNamew-full max-w-2xl overflow-hidden rounded-2xl bg-gray-500 p-8 div classNameflex cursor-pointer items-start justify-between onClick{() toggleOpen(item.id)} div classNametext-xl font-bold{item.question}/div div classNametext-2xl font-bold select-none {item.isOpen ? - : } /div /div {item.isOpen ( div classNamemt-4 text-xl font-bold transition-all duration-500 ease-in-out {item.answer} /div )} /div ))} div classNameabsolute right-20 bottom-10 text-2xl text-red-500 CSDNHao_Harrision /div /div ) } export default FAQCollapse✅ 关键实现说明1.状态管理使用useStateFAQItem[]存储 FAQ 列表。每个FAQItem包含isOpen: boolean字段通过扩展对象实现。更新时使用不可变方式setFaqList(prev prev.map(...))。2.折叠切换逻辑点击整个问答标题区域即可切换提升 UX。toggleOpen(id)只翻转对应项的isOpen状态。3.动画实现Tailwind 条件渲染Vue 的Transition在 React 中没有直接等价物。我们采用条件渲染 Tailwind 过渡类实现展开动画{item.isOpen div classNametransition-all duration-500 ease-in-out ....../div}虽然无法完全复刻enter-from/leave-to的精细控制但视觉效果非常接近。若需更复杂动画可引入framer-motion或react-transition-group但本场景无需。4.样式与响应式使用max-w-2xl替代原w-2xlTailwind 中w-2xl不是标准类应为max-w-2xl。添加select-none防止用户误选/-符号。整体保持深色文字text-white背景为bg-gray-500。5.内容优化将重复的 “What is Vue.js?” 改为不同问题避免混淆你可改回原内容。⚠️ 注意事项动画局限性React 条件渲染在元素“消失”时会立即卸载因此收起动画无法完全执行。如果你希望收起也有动画需使用height或opacity控制 onTransitionEnd或使用第三方库。✅ 但对 FAQ 场景展开有动画、收起瞬时隐藏是常见且可接受的设计。无障碍a11y建议可选增强为每个问答添加rolebutton和aria-expanded。示例div rolebutton aria-expanded{item.isOpen} tabIndex{0} onKeyDown{(e) e.key Enter toggleOpen(item.id)} TailwindCSS 样式重点讲解 TailwindCSS 样式说明类名作用m-12外边距为 3remflex,flex-col弹性布局并设置为纵向排列items-center,justify-center内容居中对齐gap-8子元素之间间距为 2remtext-white设置文字颜色为白色font-mono使用等宽字体rounded-2xl圆角大小为 1rembg-gray-500设置背景颜色为灰色p-8内边距为 2remcursor-pointer鼠标悬停时变为手型overflow-hidden隐藏超出容器的内容用于动画流畅展示text-xl,text-2xl不同层级的文字大小font-bold加粗字体mt-4上边距为 1rem这些类名帮助我们快速构建出一个居中的响应式布局并确保视觉上的一致性和美观性。 路由组件 常量定义router/index.tsx中children数组中添加子路由{ path: /, element: App /, children: [ ... { path: /FAQ, lazy: () import(/projects/FAQCollapse.tsx).then((mod) ({ Component: mod.default, })), }, ], },constants/index.tsx 添加组件预览常量import demo12Img from /assets/pic-demo/demo-12.png 省略部分.... export const projectList: ProjectItem[] [ 省略部分.... { id: 12, title: FAQ Collapse, image: demo12Img, link: FAQ, }, ] 小结涵盖响应式系统、事件监听机制以及TailwindCSS的实用样式类。它不仅是一个教学示例也可以作为开发调试工具的一部分用于快速查看键盘事件的数据。 明日预告 我们将完成RandomChoicePicker组件一个现代化的标签输入组件原文链接https://blog.csdn.net/qq_44808710/article/details/148590104每天造一个轮子码力暴涨不是梦
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做婚庆的网站有哪些内容常见的网站开发软件有哪些

还在为找不到高质量的金融数据而发愁吗?🤔 作为一名Python开发者,你一定遇到过这样的困境:想要进行股票分析、量化策略回测,却被数据获取这个"拦路虎"挡住了去路。别担心,MooTDX正是为你量身打造…

张小明 2026/1/8 19:00:36 网站建设

网站建立免费银川网站建设ctocio

Markdown TOC 生成:构建清晰的 PyTorch 技术文档结构 在深度学习项目中,我们常常面临一个看似不起眼却影响深远的问题——技术文档越来越长,层级越来越多,读者却越来越难找到他们真正关心的内容。尤其是在撰写关于 PyTorch-CUDA-v…

张小明 2026/1/13 8:40:09 网站建设

代做道路毕业设计网站深圳住房和建设局网站登录界面

Git远程仓库协作与工作树、子模块使用指南 在软件开发过程中,多人协作对远程仓库进行修改是常见的场景。同时,为了更高效地管理项目,Git 提供了工作树(worktrees)和子模块(submodules)等功能。本文将详细介绍如何模拟多人协作修改远程仓库,以及如何使用工作树和子模块…

张小明 2026/1/9 2:24:00 网站建设

运城做网站哪家公司好10个企业网站设计欣赏

VirtualKeyboard是一个功能强大的Python虚拟键盘项目,为开发者带来灵活的键盘模拟解决方案。无论您是需要自动化测试、辅助输入还是其他键盘模拟需求,这个开源工具都能满足您的需求。 【免费下载链接】VirtualKeyboard 项目地址: https://gitcode.com…

张小明 2026/1/9 8:13:24 网站建设

怎么发现网站漏洞而做软件贴吧高级搜索

跨平台剪贴板操作终极指南:快速上手Pyperclip 【免费下载链接】pyperclip Python module for cross-platform clipboard functions. 项目地址: https://gitcode.com/gh_mirrors/py/pyperclip Pyperclip是一个专门为Python开发者设计的跨平台剪贴板操作库&…

张小明 2026/1/8 9:04:34 网站建设

网络技术网站滑板网页网站设计

虚拟键盘终极使用指南:从零到精通 【免费下载链接】VirtualKeyboard 项目地址: https://gitcode.com/gh_mirrors/vi/VirtualKeyboard 还在为触摸屏操作不便而烦恼吗?虚拟键盘让你在任何设备上都能享受流畅的输入体验!本文将带你从安装…

张小明 2026/1/9 17:38:15 网站建设