用户账户访问组件
响应式登录/注册组件,支持黑暗模式
<div class="min-h-screen flex items-center justify-center bg-gray-900"> <div class="bg-gray-800 p-8 rounded-lg shadow-xl w-full max-w-md"> <div class="tabs mb-6"> <button class="w-1/2 py-2 text-lg font-semibold text-center text-white border-b-2 border-pink-500">Login</button> <button class="w-1/2 py-2 text-lg font-semibold text-center text-gray-400 hover:text-white">Sign Up</button> </div> <form> <div class="mb-4"> <label for="email" class="block text-gray-400 text-sm font-bold mb-2">Email</label> <input type="email" id="email" class="shadow appearance-none border border-gray-700 rounded w-full py-2 px-3 text-white bg-gray-700 focus:outline-none focus:ring-pink-500 focus:border-pink-500" placeholder="Email"> </div> <div class="mb-6"> <label for="password" class="block text-gray-400 text-sm font-bold mb-2">Password</label> <input type="password" id="password" class="shadow appearance-none border border-gray-700 rounded w-full py-2 px-3 text-white bg-gray-700 focus:outline-none focus:ring-pink-500 focus:border-pink-500" placeholder="Password"> </div> <div class="flex items-center justify-between"> <button class="bg-pink-500 hover:bg-pink-600 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline" type="button"> Login </button> <a class="inline-block align-baseline font-bold text-sm text-pink-500 hover:text-pink-600" href="#"> Forgot Password? </a> </div> </form> </div> </div>
3D单色登录/注册表单
<div class="flex items-center justify-center min-h-screen bg-gray-100 dark:bg-gray-900"> <div class="relative w-full max-w-md px-8 py-10 mx-auto bg-white rounded-lg shadow-xl dark:bg-gray-800 lg:w-1/3"> <div class="absolute inset-0 w-full h-full transform scale-95 translate-x-1 translate-y-1 bg-gray-200 dark:bg-gray-700 rounded-lg blur-md"></div> <div class="relative"> <h2 class="text-2xl font-semibold text-center text-gray-800 dark:text-white">Login/Signup</h2> <div class="mt-6"> <div class="relative mt-4"> <input type="text" id="email" name="email" class="block w-full px-4 py-3 border border-gray-300 rounded-md shadow-sm focus:ring focus:ring-blue-200 focus:border-blue-300 dark:bg-gray-700 dark:border-gray-600 dark:text-white" placeholder="Email Address"> </div> <div class="relative mt-4"> <input type="password" id="password" name="password" class="block w-full px-4 py-3 border border-gray-300 rounded-md shadow-sm focus:ring focus:ring-blue-200 focus:border-blue-300 dark:bg-gray-700 dark:border-gray-600 dark:text-white" placeholder="Password"> </div> <div class="flex items-center justify-between mt-6"> <div class="flex items-center"> <input type="checkbox" id="remember_me" name="remember_me" class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500 dark:bg-gray-700 dark:border-gray-600"> <label for="remember_me" class="block ml-2 text-sm text-gray-900 dark:text-gray-300">Remember me</label> </div> <div class="text-sm"> <a href="#" class="font-medium text-blue-600 hover:text-blue-500 dark:text-blue-400 dark:hover:text-blue-300">Forgot your password?</a> </div> </div> <div class="mt-6"> <button type="submit" class="w-full px-4 py-3 text-white bg-blue-600 rounded-md shadow-sm hover:bg-blue-700 focus:outline-none focus:ring focus:ring-blue-200 focus:ring-opacity-50 dark:bg-blue-700 dark:hover:bg-blue-800">Sign in</button> </div> <div class="mt-6 text-center"> <p class="text-sm text-gray-600 dark:text-gray-400">Don't have an account? <a href="#" class="font-medium text-blue-600 hover:text-blue-500 dark:text-blue-400 dark:hover:text-blue-300">Sign up</a></p> </div> </div> </div> </div> </div>
一个响应式的登录/注册组件,采用材料设计风格,支持暗黑主题和互补色彩方案,专为社交媒体界面量身定制.
<div class="flex flex-col items-center justify-center min-h-screen bg-gray-100 dark:bg-gray-900"> <div class="bg-white dark:bg-gray-800 shadow-md rounded-lg p-8 max-w-md w-full"> <h2 class="text-2xl font-bold text-center text-gray-800 dark:text-gray-200 mb-6">Welcome</h2> <p class="text-center text-gray-600 dark:text-gray-400 mb-4">Sign in to continue or create a new account.</p> <div class="space-y-4"> <form> <div> <label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" for="email">Email</label> <input type="email" id="email" class="input-class" placeholder="[email protected]" required /> </div> <div> <label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" for="password">Password</label> <input type="password" id="password" class="input-class" placeholder="********" required /> </div> <div> <button type="submit" class="w-full bg-blue-600 hover:bg-blue-700 text-white font-semibold py-2 px-4 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-blue-500 dark:hover:bg-blue-400">Login</button> </div> <div class="text-center text-gray-600 dark:text-gray-400"> <p>Or</p> </div> <div> <button type="button" class="w-full bg-green-600 hover:bg-green-700 text-white font-semibold py-2 px-4 rounded focus:outline-none focus:ring-2 focus:ring-green-500 dark:bg-green-500 dark:hover:bg-green-400">Sign Up</button> </div> </form> <div class="flex items-center justify-center space-x-4"> <a href="#" class="flex items-center justify-center w-10 h-10 rounded-full bg-gray-300 dark:bg-gray-700 shadow-sm hover:shadow-lg transform transition duration-300"> <img src="https://picsum.photos/50" alt="Google" class="rounded-full" /> </a> <a href="#" class="flex items-center justify-center w-10 h-10 rounded-full bg-gray-300 dark:bg-gray-700 shadow-sm hover:shadow-lg transform transition duration-300"> <img src="https://picsum.photos/50" alt="Facebook" class="rounded-full" /> </a> <a href="#" class="flex items-center justify-center w-10 h-10 rounded-full bg-gray-300 dark:bg-gray-700 shadow-sm hover:shadow-lg transform transition duration-300"> <img src="https://randomuser.me/api/portraits/men/1.jpg" alt="Twitter" class="rounded-full" /> </a> </div> </div> </div> </div> <style> .input-class { display: block; width: 100%; padding: 0.5rem; margin-top: 0.25rem; border: 1px solid #d1d5db; border-radius: 0.375rem; transition: border-color 0.2s; color: #4b5563; } .input-class:focus { outline: none; border-color: #3b82f6; } </style>
一个复杂的登录/注册组件,使用材料设计原则和单色配色方案,适用于支持深色主题的商业和企业网站。
<div class="min-h-screen flex items-center justify-center bg-gray-100 dark:bg-gray-900"> <div class="w-full max-w-md p-8 bg-white dark:bg-gray-800 rounded-lg shadow-lg"> <h2 class="text-2xl font-semibold text-gray-800 dark:text-gray-100 text-center mb-6">Welcome</h2> <p class="text-gray-600 dark:text-gray-400 text-center mb-4">Please login or signup to continue.</p> <div class="flex flex-col space-y-4"> <!-- Login Form --> <form class="space-y-4"> <div> <label class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="login-email">Email</label> <input type="email" id="login-email" class="mt-1 block w-full border border-gray-300 dark:border-gray-600 p-2 rounded-md focus:outline-none focus:ring focus:ring-blue-500 dark:focus:ring-blue-600" placeholder="[email protected]" required> </div> <div> <label class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="login-password">Password</label> <input type="password" id="login-password" class="mt-1 block w-full border border-gray-300 dark:border-gray-600 p-2 rounded-md focus:outline-none focus:ring focus:ring-blue-500 dark:focus:ring-blue-600" required> </div> <button type="submit" class="w-full bg-blue-600 text-white p-2 rounded-md shadow hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600 transition duration-300">Login</button> </form> <!-- Separator --> <div class="flex items-center justify-center space-x-2"> <div class="w-full h-0.5 bg-gray-300 dark:bg-gray-600"></div> <span class="text-gray-500 dark:text-gray-400">OR</span> <div class="w-full h-0.5 bg-gray-300 dark:bg-gray-600"></div> </div> <!-- Signup Form --> <form class="space-y-4"> <div> <label class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="signup-name">Full Name</label> <input type="text" id="signup-name" class="mt-1 block w-full border border-gray-300 dark:border-gray-600 p-2 rounded-md focus:outline-none focus:ring focus:ring-blue-500 dark:focus:ring-blue-600" placeholder="Your Name" required> </div> <div> <label class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="signup-email">Email</label> <input type="email" id="signup-email" class="mt-1 block w-full border border-gray-300 dark:border-gray-600 p-2 rounded-md focus:outline-none focus:ring focus:ring-blue-500 dark:focus:ring-blue-600" placeholder="[email protected]" required> </div> <div> <label class="block text-sm font-medium text-gray-700 dark:text-gray-300" for="signup-password">Password</label> <input type="password" id="signup-password" class="mt-1 block w-full border border-gray-300 dark:border-gray-600 p-2 rounded-md focus:outline-none focus:ring focus:ring-blue-500 dark:focus:ring-blue-600" required> </div> <button type="submit" class="w-full bg-blue-600 text-white p-2 rounded-md shadow hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600 transition duration-300">Signup</button> </form> <!-- Avatar Image --> <div class="flex justify-center mt-6"> <img src="https://picsum.photos/100/100" alt="Avatar" class="rounded-full border-4 border-blue-500"> </div> </div> </div> </div>
一个复古/怀旧主题的登录和注册组件,用于仪表板,具有复杂的布局和三原色配色方案。包括使用Tailwind CSS的响应式设计和深色模式支持。
<div class="min-h-screen flex items-center justify-center bg-gradient-to-br from-amber-200 via-red-400 to-rose-600 dark:from-gray-800 dark:via-gray-900 dark:to-black p-6"> <div class="bg-white dark:bg-gray-700 p-8 rounded-lg shadow-lg w-full max-w-md filter drop-shadow-lg transform rotate-2 transition duration-500 hover:rotate-0"> <div class="mb-8 text-center"> <h2 class="text-3xl font-bold text-gray-800 dark:text-white font-mono">Dashboard Access</h2> <p class="text-gray-600 dark:text-gray-300 mt-2">Enter your credentials to dive in!</p> </div> <div class="tabs"> <input type="radio" name="tabs" id="login" checked class="hidden"> <label for="login" class="tab-label inline-block px-4 py-2 text-gray-700 dark:text-gray-200 font-semibold border-b-2 border-transparent hover:border-rose-500 cursor-pointer transition duration-300">Login</label> <input type="radio" name="tabs" id="signup" class="hidden"> <label for="signup" class="tab-label inline-block px-4 py-2 text-gray-700 dark:text-gray-200 font-semibold border-b-2 border-transparent hover:border-rose-500 cursor-pointer transition duration-300">Sign Up</label> <div id="tab-content-login" class="mt-8 tab-content"> <form> <div class="mb-5"> <label for="email" class="block text-sm font-medium text-gray-700 dark:text-gray-200 mb-2">Email Address</label> <input type="email" id="email" class="form-input w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-rose-500 focus:border-rose-500 bg-gray-100 dark:bg-gray-600 text-gray-800 dark:text-white placeholder-gray-500 dark:placeholder-gray-400" placeholder="[email protected]"> </div> <div class="mb-5"> <label for="password" class="block text-sm font-medium text-gray-700 dark:text-gray-200 mb-2">Password</label> <input type="password" id="password" class="form-input w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-rose-500 focus:border-rose-500 bg-gray-100 dark:bg-gray-600 text-gray-800 dark:text-white placeholder-gray-500 dark:placeholder-gray-400" placeholder="********"> </div> <div class="flex items-center justify-between mb-6"> <div class="flex items-center"> <input type="checkbox" id="remember" class="form-checkbox h-4 w-4 text-rose-600 dark:text-rose-400 rounded"> <label for="remember" class="ml-2 block text-sm text-gray-800 dark:text-gray-200">Remember me</label> </div> <a href="#" class="text-sm text-rose-600 dark:text-rose-400 hover:underline">Forgot Password?</a> </div> <button type="submit" class="w-full bg-rose-500 hover:bg-rose-600 text-white font-bold py-2 px-4 rounded-md transition duration-300">Login</button> </form> </div> <div id="tab-content-signup" class="mt-8 tab-content hidden"> <form> <div class="mb-5"> <label for="new-email" class="block text-sm font-medium text-gray-700 dark:text-gray-200 mb-2">Email Address</label> <input type="email" id="new-email" class="form-input w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-rose-500 focus:border-rose-500 bg-gray-100 dark:bg-gray-600 text-gray-800 dark:text-white placeholder-gray-500 dark:placeholder-gray-400" placeholder="[email protected]"> </div> <div class="mb-5"> <label for="new-password" class="block text-sm font-medium text-gray-700 dark:text-gray-200 mb-2">Password</label> <input type="password" id="new-password" class="form-input w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-rose-500 focus:border-rose-500 bg-gray-100 dark:bg-gray-600 text-gray-800 dark:text-white placeholder-gray-500 dark:placeholder-gray-400" placeholder="********"> </div> <div class="mb-5"> <label for="confirm-password" class="block text-sm font-medium text-gray-700 dark:text-gray-200 mb-2">Confirm Password</label> <input type="password" id="confirm-password" class="form-input w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-rose-500 focus:border-rose-500 bg-gray-100 dark:bg-gray-600 text-gray-800 dark:text-white placeholder-gray-500 dark:placeholder-gray-400" placeholder="********"> </div> <button type="submit" class="w-full bg-amber-400 hover:bg-amber-500 text-white font-bold py-2 px-4 rounded-md transition duration-300">Sign Up</button> </form> </div> </div> </div> </div> <style> /* Basic tab functionality (can be improved with JS) */ .tabs input:checked + .tab-label { border-color: #f43f5e; /* rose-500 */ } .tabs input:checked ~ .tab-content { display: block; } /* Hide inactive tab content */ .tab-content { display: none; } </style>
一个响应式登录/注册组件,设计用于暗模式,使用Tailwind CSS。
<div class="min-h-screen flex items-center justify-center bg-gray-900 p-6"> <div class="bg-gray-800 rounded-lg shadow-lg p-8 max-w-sm w-full"> <h2 class="text-2xl text-white text-center mb-6">Welcome</h2> <form> <div class="mb-4"> <label class="block text-gray-300 mb-2" for="email">Email</label> <input class="w-full p-3 rounded bg-gray-700 text-white focus:outline-none focus:ring focus:ring-blue-500" type="email" id="email" placeholder="Enter your email" required> </div> <div class="mb-4"> <label class="block text-gray-300 mb-2" for="password">Password</label> <input class="w-full p-3 rounded bg-gray-700 text-white focus:outline-none focus:ring focus:ring-blue-500" type="password" id="password" placeholder="Enter your password" required> </div> <button class="w-full bg-blue-600 text-white p-3 rounded hover:bg-blue-500 transition duration-300" type="submit">Login</button> </form> <div class="text-center text-gray-400 mt-4"> <p>Don't have an account? <a href="#" class="text-blue-400">Sign up</a></p> </div> </div> <div class="bg-gray-800 rounded-lg shadow-lg p-8 max-w-sm w-full mt-8"> <h2 class="text-2xl text-white text-center mb-6">Sign Up</h2> <form> <div class="mb-4"> <label class="block text-gray-300 mb-2" for="name">Name</label> <input class="w-full p-3 rounded bg-gray-700 text-white focus:outline-none focus:ring focus:ring-blue-500" type="text" id="name" placeholder="Enter your name" required> </div> <div class="mb-4"> <label class="block text-gray-300 mb-2" for="email-signup">Email</label> <input class="w-full p-3 rounded bg-gray-700 text-white focus:outline-none focus:ring focus:ring-blue-500" type="email" id="email-signup" placeholder="Enter your email" required> </div> <div class="mb-4"> <label class="block text-gray-300 mb-2" for="password-signup">Password</label> <input class="w-full p-3 rounded bg-gray-700 text-white focus:outline-none focus:ring focus:ring-blue-500" type="password" id="password-signup" placeholder="Create a password" required> </div> <button class="w-full bg-blue-600 text-white p-3 rounded hover:bg-blue-500 transition duration-300" type="submit">Sign Up</button> </form> </div> </div>
一个极简的登录/注册链接组件,采用 Tailwind CSS 设计,具有响应式效果和黑暗主题支持。该组件提供简洁明了的美学,同时确保在各种设备上的可用性。
<div class="min-h-screen flex items-center justify-center bg-white dark:bg-gray-900"> <div class="bg-gray-100 dark:bg-gray-800 rounded-lg shadow-lg p-8 max-w-sm w-full"> <h2 class="text-2xl font-semibold text-gray-800 dark:text-white text-center">Welcome Back</h2> <p class="text-gray-600 dark:text-gray-400 text-center mb-6">Login to your account</p> <form> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300" for="email">Email</label> <input class="block w-full px-4 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-400 dark:bg-gray-700 dark:border-gray-600 dark:text-white" type="email" id="email" placeholder="[email protected]" required /> </div> <div class="mb-6"> <label class="block text-gray-700 dark:text-gray-300" for="password">Password</label> <input class="block w-full px-4 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-400 dark:bg-gray-700 dark:border-gray-600 dark:text-white" type="password" id="password" placeholder="********" required /> </div> <button type="submit" class="w-full bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 rounded-md transition duration-200">Login</button> </form> <div class="mt-4 text-center"> <p class="text-gray-600 dark:text-gray-400">Don't have an account? <a href="#" class="text-blue-500 hover:underline">Sign up</a></p> </div> </div> </div> <div class="min-h-screen flex items-center justify-center bg-white dark:bg-gray-900"> <div class="bg-gray-100 dark:bg-gray-800 rounded-lg shadow-lg p-8 max-w-sm w-full mt-8"> <h2 class="text-2xl font-semibold text-gray-800 dark:text-white text-center">Create Account</h2> <p class="text-gray-600 dark:text-gray-400 text-center mb-6">Join us today!</p> <form> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300" for="name">Name</label> <input class="block w-full px-4 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-400 dark:bg-gray-700 dark:border-gray-600 dark:text-white" type="text" id="name" placeholder="John Doe" required /> </div> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300" for="email-signup">Email</label> <input class="block w-full px-4 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-400 dark:bg-gray-700 dark:border-gray-600 dark:text-white" type="email" id="email-signup" placeholder="[email protected]" required /> </div> <div class="mb-6"> <label class="block text-gray-700 dark:text-gray-300" for="password-signup">Password</label> <input class="block w-full px-4 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-400 dark:bg-gray-700 dark:border-gray-600 dark:text-white" type="password" id="password-signup" placeholder="********" required /> </div> <button type="submit" class="w-full bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 rounded-md transition duration-200">Sign Up</button> </form> <div class="mt-4 text-center"> <p class="text-gray-600 dark:text-gray-400">Already have an account? <a href="#" class="text-blue-500 hover:underline">Login</a></p> </div> </div> </div>
一个使用Tailwind CSS的极简登录和注册组件,支持响应式效果和暗色主题。
<div class="min-h-screen flex items-center justify-center bg-gray-100 dark:bg-gray-900"> <div class="bg-white dark:bg-gray-800 rounded-lg shadow-lg p-6 w-72"> <h2 class="text-2xl font-semibold text-gray-800 dark:text-gray-200 mb-4 text-center">Login</h2> <form> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 mb-2" for="email">Email</label> <input class="w-full px-3 py-2 text-gray-800 dark:text-gray-200 bg-gray-200 dark:bg-gray-700 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400" type="email" id="email" placeholder="[email protected]" required> </div> <div class="mb-6"> <label class="block text-gray-700 dark:text-gray-300 mb-2" for="password">Password</label> <input class="w-full px-3 py-2 text-gray-800 dark:text-gray-200 bg-gray-200 dark:bg-gray-700 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400" type="password" id="password" placeholder="••••••••" required> </div> <button class="w-full bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-blue-600 dark:hover:bg-blue-700" type="submit">Login</button> <p class="mt-4 text-center text-gray-600 dark:text-gray-400">Don't have an account? <a href="#" class="text-blue-500 hover:text-blue-600">Sign up</a></p> </form> </div> <div class="bg-white dark:bg-gray-800 rounded-lg shadow-lg p-6 w-72 mt-8"> <h2 class="text-2xl font-semibold text-gray-800 dark:text-gray-200 mb-4 text-center">Sign Up</h2> <form> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 mb-2" for="name">Name</label> <input class="w-full px-3 py-2 text-gray-800 dark:text-gray-200 bg-gray-200 dark:bg-gray-700 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400" type="text" id="name" placeholder="John Doe" required> </div> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 mb-2" for="email-signup">Email</label> <input class="w-full px-3 py-2 text-gray-800 dark:text-gray-200 bg-gray-200 dark:bg-gray-700 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400" type="email" id="email-signup" placeholder="[email protected]" required> </div> <div class="mb-6"> <label class="block text-gray-700 dark:text-gray-300 mb-2" for="password-signup">Password</label> <input class="w-full px-3 py-2 text-gray-800 dark:text-gray-200 bg-gray-200 dark:bg-gray-700 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:focus:ring-blue-400" type="password" id="password-signup" placeholder="••••••••" required> </div> <button class="w-full bg-blue-500 hover:bg-blue-600 text-white font-semibold py-2 px-4 rounded focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-blue-600 dark:hover:bg-blue-700" type="submit">Sign Up</button> <p class="mt-4 text-center text-gray-600 dark:text-gray-400">Already have an account? <a href="#" class="text-blue-500 hover:text-blue-600">Login</a></p> </form> </div> <div class="hidden"> <img src="https://picsum.photos/600/400?random=1" alt="Placeholder" class="w-full h-auto"> <img src="https://picsum.photos/600/400?random=2" alt="Placeholder" class="w-full h-auto"> <img src="https://randomuser.me/api/portraits/men/1.jpg" alt="Avatar" class="rounded-full w-16 h-16"> </div> </div>
一个极简风格和平面设计的登录/注册组件,具有响应效果和支持黑暗主题,使用 Tailwind CSS。
<div class="flex items-center justify-center min-h-screen bg-gray-100 dark:bg-gray-900"> <div class="bg-white dark:bg-gray-800 rounded-lg shadow-lg p-8 max-w-sm w-full"> <h2 class="text-2xl font-semibold text-center text-gray-800 dark:text-gray-200 mb-6">Welcome</h2> <form> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 mb-2" for="username">Username</label> <input type="text" id="username" class="border border-gray-300 dark:border-gray-700 rounded-lg w-full py-2 px-3 bg-gray-50 dark:bg-gray-700 focus:outline-none focus:ring focus:ring-blue-500" placeholder="Enter your username" required> </div> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 mb-2" for="password">Password</label> <input type="password" id="password" class="border border-gray-300 dark:border-gray-700 rounded-lg w-full py-2 px-3 bg-gray-50 dark:bg-gray-700 focus:outline-none focus:ring focus:ring-blue-500" placeholder="Enter your password" required> </div> <div class="mb-6"> <button type="submit" class="w-full bg-blue-500 hover:bg-blue-600 text-white font-bold py-2 rounded-lg">Login</button> </div> <div class="text-center mb-4"> <span class="text-gray-600 dark:text-gray-400">Or</span> </div> <div class="mb-6"> <button type="button" class="w-full bg-gray-200 dark:bg-gray-700 text-gray-800 dark:text-gray-200 font-bold py-2 rounded-lg">Signup</button> </div> <div class="text-center"> <img class="rounded-full w-16 h-16 mx-auto" src="https://randomuser.me/api/portraits/men/1.jpg" alt="User Avatar"> </div> <p class="text-center text-gray-500 dark:text-gray-400 mt-4">Need help? <a href="#" class="text-blue-500 hover:underline">Contact us</a></p> </form> </div> </div> <style> @media (prefers-color-scheme: dark) { input:focus { background-color: #4A5568; } button { transition: background-color 0.3s; } } </style>
一个使用Tailwind CSS设计的响应式登录/注册组件,采用拟物风格,支持深色主题。
<div class="min-h-screen flex items-center justify-center bg-gray-100 dark:bg-gray-900 p-4"> <div class="bg-white dark:bg-gray-800 shadow-md rounded-lg p-8 max-w-sm w-full"> <h2 class="text-2xl font-bold text-gray-800 dark:text-white mb-6">Login / Signup</h2> <form> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 text-sm font-bold mb-2" for="username">Username</label> <input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 dark:text-white dark:bg-gray-700 focus:outline-none focus:shadow-outline" id="username" type="text" placeholder="Enter your username" required> </div> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 text-sm font-bold mb-2" for="email">Email</label> <input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 dark:text-white dark:bg-gray-700 focus:outline-none focus:shadow-outline" id="email" type="email" placeholder="Enter your email" required> </div> <div class="mb-4"> <label class="block text-gray-700 dark:text-gray-300 text-sm font-bold mb-2" for="password">Password</label> <input class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 dark:text-white dark:bg-gray-700 focus:outline-none focus:shadow-outline" id="password" type="password" placeholder="Enter your password" required> </div> <div class="flex items-center justify-between mb-4"> <label class="flex items-center"> <input type="checkbox" class="form-checkbox h-5 w-5 text-gray-600 dark:text-gray-400"> <span class="ml-2 text-gray-700 dark:text-gray-300">Remember Me</span> </label> <a class="inline-block align-baseline font-bold text-sm text-blue-500 hover:text-blue-800 dark:text-blue-300" href="#"> Forgot Password? </a> </div> <div class="flex items-center justify-center"> <button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline" type="submit"> Login / Signup </button> </div> </form> <div class="mt-4 text-center"> <p class="text-gray-600 dark:text-gray-400">or</p> <button class="flex items-center justify-center mt-2 border border-gray-300 dark:border-gray-600 rounded-lg py-2 px-4 w-full text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition ease-in-out duration-150"> <img src="https://randomuser.me/api/portraits/men/10.jpg" alt="User Avatar" class="w-6 h-6 rounded-full mr-2"> Sign in with Google </button> </div> </div> </div>