
คุณสามารถรองรับ UI ที่ลอยได้หลายวิธีในการเปิดกลุ่ม
องค์ประกอบลอยตัวอยู่ในตำแหน่งที่แน่นอนโดยทั่วไปจะทอดสมอกับองค์ประกอบ UI อื่น การสร้างความมั่นใจว่าองค์ประกอบลอยตัวยังคงยึดติดกับองค์ประกอบอื่นอาจเป็นเรื่องที่ท้าทายโดยเฉพาะอย่างยิ่งในบริบทของเค้าโครงที่ไม่ซ้ำกันเช่นการเลื่อนภาชนะ
การวางตำแหน่งสัมบูรณ์ยังสามารถทำให้เกิดปัญหาได้เมื่อองค์ประกอบที่ลอยอยู่ใกล้กับขอบของวิวพอร์ตและถูกบดบังหรือเรียกว่าการปะทะกัน เมื่อเกิดการชนกันตำแหน่งจะต้องปรับเพื่อให้แน่ใจว่าองค์ประกอบลอยยังคงปรากฏให้เห็น
นอกจากนี้องค์ประกอบที่ลอยอยู่มักจะมีการโต้ตอบซึ่งสามารถเพิ่มปัญหาการเข้าถึงที่ซับซ้อนเมื่อออกแบบการโต้ตอบของผู้ใช้
Floating UI เสนอชุดของคุณสมบัติระดับต่ำเพื่อช่วยให้คุณนำทางความท้าทายเหล่านี้และสร้างส่วนประกอบ UI ที่ลอยได้
ในการติดตั้ง UI แบบลอยตัวคุณสามารถใช้ตัวจัดการแพ็คเกจเช่น NPM หรือ CDN มีเวอร์ชันที่แตกต่างกันสำหรับแพลตฟอร์มที่แตกต่างกัน
ใช้บนเว็บกับวานิลลาจาวาสคริปต์
npm install @floating-ui/domคุณสามารถเริ่มต้นด้วยการอ่านบทช่วยสอนซึ่งสอนวิธีการใช้ห้องสมุดโดยการสร้างคำแนะนำเครื่องมือพื้นฐานหรือคุณสามารถกระโดดเข้าไปในเอกสาร API ได้ทันที
ใช้กับ React Dom หรือ React Native
# Positioning + interactions
npm install @floating-ui/react
# Positioning only (smaller size)
npm install @floating-ui/react-domnpm install @floating-ui/react-nativeใช้กับ Vue
npm install @floating-ui/vueหากคุณกำลังกำหนดเป้าหมายแพลตฟอร์มอื่นนอกเหนือจากวานิลลา Dom (เว็บ) ตอบสนองหรือตอบสนองเนทีฟคุณสามารถสร้างแพลตฟอร์มของคุณเองได้ สิ่งนี้ช่วยให้คุณสนับสนุนสิ่งต่าง ๆ เช่น Canvas/WebGL หรือแพลตฟอร์มอื่น ๆ ที่สามารถเรียกใช้ JavaScript ได้
npm install @floating-ui/coreโครงการนี้เป็น monorepo ที่เขียนด้วย typepmcript โดยใช้พื้นที่ทำงานของ PNPM เว็บไซต์ใช้ Next.js SSG และ Tailwind CSS สำหรับการออกแบบ
pnpm installpnpm run build pnpm run --filter @floating-ui/dom dev ในรูทจะเปิดการทดสอบการพัฒนาภาพการพัฒนา @floating-ui/dom ที่ http://localhost:1234 สนามเด็กเล่นใช้ React ในการเขียนเส้นทางทดสอบแต่ละเส้นทางที่รวมโดย Vite
แต่ละเส้นทางมีภาพหน้าจอที่ถ่ายของหน้าโดยนักเขียนบทละครเพื่อให้แน่ใจว่าฟังก์ชันทั้งหมดทำงานตามที่คาดไว้ นี่เป็นวิธีที่ง่ายเชื่อถือได้และมีระดับสูงในการทดสอบตรรกะการวางตำแหน่ง
ด้านล่างคอนเทนเนอร์หลักคือการควบคุม UI เพื่อเปิดสถานะและตัวเลือกบางอย่าง การรวมกันของรัฐทุกครั้งจะถูกทดสอบด้วยสายตาผ่านภาพรวมเพื่อให้ครอบคลุมให้มากที่สุด
pnpm run --filter @floating-ui/react dev ในรูทจะเปิดการทดสอบการพัฒนา @floating-ui/react ที่ http://localhost:1234
รูปทรงลอยตัวในภาพแบนเนอร์ทำโดยศิลปินที่น่าทึ่ง @artstar3d, @killnicole และ @liiiiiiii บน Figma - ตรวจสอบงานของพวกเขา!
มิกซ์