利用bootstrap做一个登录页面
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,利用录页 initial-scale=1.0"> <title>登录页面 - Bootstrap 实战</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container mt-5" style="max-width: 400px;"> <div class="card shadow-sm"> <div class="card-body p-4"> <h3 class="text-center mb-4">登录</h3> <form> <div class="mb-3"> <label for="email" class="form-label">邮箱地址</label> <input type="email" class="form-control" id="email" placeholder="name@example.com" required> </div> <div class="mb-3"> <label for="password" class="form-label">密码</label> <input type="password" class="form-control" id="password" placeholder="输入密码" required> </div> <div class="mb-3 form-check"> <input type="checkbox" class="form-check-input" id="remember"> <label class="form-check-label" for="remember">记住我</label> </div> <button type="submit" class="btn btn-primary w-100">登 录</button> </form> <p class="text-center text-muted mt-3 mb-0">还没有账号? <a href="#">立即注册</a></p> </div> </div> </div> </body> </html>写这段代码之前,我其实在纠结——登录页这种东西,个登看起来简单,利用录页但坑不少。个登很多人直接抄一个模板,利用录页结果表单没验证、个登移动端错位、利用录页按钮丑得像块砖。个登Bootstrap 的利用录页好处就是替你把这些坑填了大半。 先说布局。个登我用了 `container` 加 `max-width: 400px`,利用录页这招挺实用。个登默认的利用录页容器太宽,登录框容易显得散。个登限制宽度后,利用录页卡片在桌面端居中,在手机上也不会贴边。`mt-5` 给上方留出呼吸空间,不至于顶到浏览器边缘,看着压抑。 卡片(`card`)是视觉核心。`shadow-sm` 其实是我故意选的——阴影太重显得浮夸,太轻又没层次感,这个中间值刚好。`card-body` 里塞 `p-4`,让内容四周有内边距,不会挤在边框上。标题用 `h3` 加 `text-center`,简单直接,不用搞什么花哨的图标或者渐变背景,那是画蛇添足。 表单部分,重点在 `form-label` 和 `form-control` 的配对。Bootstrap 5 要求 label 必须配 `for` 属性指向输入框的 `id`,这不仅是规范,更是无障碍访问的基础。视力障碍用户靠屏幕阅读器时,label 就是他们的“视觉指引”。我见过不少开发把 label 当摆设,光写个文字不放 `for`,结果屏幕阅读器读出来是“编辑框,编辑框”,鬼知道要填啥。 密码框的 `placeholder` 我写了“输入密码”,虽然有人觉得 placeholder 不该替代 label,但这里只是辅助提示,无伤大雅。真正要注意的是 `type="password"`——别手滑写成 `text`,密码明文显示会让人社死。 “记住我”复选框用了 `form-check` 系列,这是 Bootstrap 5 改版后的标准写法。老版本用 `checkbox` 加 `label` 就行,现在必须包一层 `form-check`,否则样式会崩。我踩过这个坑,那次调试花了二十分钟,最后发现是忘了加父容器。 按钮是全宽(`w-100`),这在移动端特别重要。窄屏下若按钮只有内容那么宽,点击区域太小,拇指操作容易误触。登录按钮是表单里唯一的提交入口,必须给足面积。 底部那行注册链接,我特意用了 `text-muted` 降低存在感,但链接本身还是保留了蓝色。这种“弱化次要操作”的设计逻辑,能引导用户把注意力放在主按钮上。 最后说下响应式。Bootstrap 的栅格系统在这里没怎么用,但 `container` 的断点机制依然生效。你试着把窗口拖窄,卡片会跟着收缩,内边距不变,文字不会溢出。这背后是媒体查询在起作用,但你没写一行 CSS——这就是框架的价值。 整个页面就一个 HTML 文件,没写任何自定义样式。但你不觉得它比那些手写 CSS 的登录页更整洁吗?Bootstrap 的真正优势不是“快”,而是“稳”——你不需要知道每个断点具体是多少像素,只要按它的规则搭积木,结果大概率是及格的。对于登录页这种高频场景,及格就是优秀。
(责任编辑:休闲)
推荐文章
-
《渗透4k全集》这个片名,我第一反应是谍战剧,但点开资源站才发现,它压根儿不是电视剧,而是一套2023年发布的4K修复版老电影合集。四部片子,全是上世纪八十年代国产反特片,画质从VCD级别的模糊噪点,
...[详细]
-
汇通公司4040反渗透膜装在我手里那台小型中试设备上的时候,进水TDS是2860ppm,出水电导率稳定在9μs/cm上下。回收率调到15%,连续运行了72小时,脱盐率没掉过99.2%。这是去年秋天在河
...[详细]
-
我点开那个下载链接的时候,电脑右下角的杀毒软件图标已经变红了。弹窗像疯了一样往外冒,一个叠一个,根本来不及点关闭。屏幕上那个所谓“免费高清电影”的网页,其实早就变成了垃圾广告的狂欢场。 这事儿得从三天
...[详细]
-
谷歌没有渗透硅谷。它渗透的是我的生活,以一种温水煮青蛙的方式。我的Gmail收件箱里躺着十二年前的邮件,我的安卓手机记录着我每天醒来的第一件事——不是睁眼,是解锁屏幕,然后看谷歌推送的天气。这算渗透吗
...[详细]
-
我电脑里存着4TB的蓝光原盘,都是靠下载工具一点点攒下来的。别急着说我宅,这些资源里有大量已经绝版的音乐会现场和纪录片,流媒体上根本找不到。为了搞到这些,我试过至少二十款下载软件,最后留下的只有三款—
...[详细]
-
拿着Nessus扫了一圈内网,结果往往不是漏洞列表本身,而是那堆被忽略的资产。扫描器不会说谎,但你需要先学会问它问题。 思维导图的根节点不是“扫描”,是“目标定义”。很多人上来就填IP段,扫完发现一堆
...[详细]
-
渗透率这个词,在市场营销里被用烂了,但真正把它算对的人不多。我见过太多人把“市场占有率”和“渗透率”混为一谈,结果做出的决策南辕北辙。其实渗透率的计算公式很简单:渗透率 = 已购买/使用某产品的目标客
...[详细]
-
2020年春天,我蹲在皖南山区的老屋里,手机屏幕上是物理老师的直播画面。他正用筷子插进装满水的玻璃杯,演示光的折射。信号断断续续,画面卡在他手指捏住筷子的瞬间。我妈在隔壁屋喊:“又没网了?把手机举高点
...[详细]
-
霍尔电流互感器cs100bt5 拆开CS100BT5的外壳,第一眼看到的是那个扁平的磁环,绕线均匀,焊点光滑。这玩意儿不便宜,但贵得有道理——它把“测量”这件事做到了极致。 霍尔传感器和电流互感器本是
...[详细]
-
彩虹云商城网站上线那天,我盯着后台的访问曲线看了整整三个小时。那条线从零点开始缓慢爬升,到下午两点突然陡峭起来,像被人掰弯了的钓鱼竿。第一次做商城类项目,心里其实没底。技术选型时团队吵过好几轮,最后敲
...[详细]
热点阅读

b2b模式的典型网站
二维码盗号
渗透率怎么计算出来的
网站后台代码在哪修改
智美管理系统
