
? 移动端 Bootstrap 教程:Runoob 指南教你实现跨设备兼容设计
?️ 基础准备:搭建 Bootstrap 移动端开发环境
标签里加上 Bootstrap 的 CSS 链接,像这样:<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
标签之前,引入 jQuery 和 Bootstrap 的 JS 文件,顺序可不能搞错,得先有 jQuery 才能加载 Bootstrap 的 JS:<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js">script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js">script>
里加上这行代码:<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
? 网格系统:用栅格布局实现跨设备适配
col-
适用于所有设备,col-sm-
适用于小屏幕及以上,col-md-
适用于中等屏幕及以上,以此类推。<div class="container">
<div class="row">
<div class="col-12 col-sm-4">盒子1div>
<div class="col-12 col-sm-4">盒子2div>
<div class="col-12 col-sm-4">盒子3div>
div>
div>
col-12
表示在手机上占满 12 列,也就是整行显示,col-sm-4
表示在小屏幕及以上设备占 4 列,三个盒子加起来 12 列,刚好并排。|
元素,然后在里面使用子网格的列类。比如在一个大列里分成两部分,一部分占 8 列,一部分占 4 列,嵌套的网格会继承父级容器的宽度比例。? 响应式组件:让元素随设备变化灵活调整
navbar-toggler
按钮和 collapse
组件。HTML 结构大概是这样:<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">网站标题a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav">
<span class="navbar-toggler-icon">span>
button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">首页a>
li>
<li class="nav-item">
<a class="nav-link" href="#">关于我们a>
li>
<li class="nav-item">
<a class="nav-link" href="#">服务项目a>
li>
ul>
div>
nav>
<div class="container">
<div class="row">
<div class="col-12 col-md-6 col-lg-4">
<div class="card">
<img src="产品图片.jpg" class="card-img-top" alt="产品图">
<div class="card-body">
<h5 class="card-title">产品名称h5>
<p class="card-text">产品描述...p>
div>
div>
div>
div>
div>
?️ 响应式图片:让图片在不同设备上完美显示
img-fluid
类,让图片自动适应父容器的宽度,保持纵横比。使用方法很简单,给图片标签加上这个类就行:
<img src="图片地址.jpg" class="img-fluid" alt="响应式图片">
@media (max-width: 767px) {
.img-mobile {
content: url(小图片地址.jpg);
}
}
@media (min-width: 768px) {
.img-desktop {
content: url(大图片地址.jpg);
}
}
? 移动端导航优化:提升用户操作体验
元素,设置固定定位在底部,里面的链接用 nav-link
类,再加上图标和文字。比如:<nav class="navbar navbar-light bg-light fixed-bottom">
<div class="container">
<a class="navbar-brand" href="#">
<i class="fas fa-home">i> 首页
a>
<a class="navbar-brand" href="#">
<i class="fas fa-user">i> 我的
a>
div>
nav>
margin-bottom: 60px
(根据导航栏高度调整)。? 表单处理:让移动端表单填写更便捷
form-control-lg
类可以让输入框更大,适合移动端操作:<div class="form-group">
<label for="name">姓名label>
<input type="text" class="form-control form-control-lg" id="name" placeholder="请输入姓名">
div>
form-check
类来包裹,让每个选项的点击区域更大。比如:<div class="form-check">
<input class="form-check-input" type="radio" name="gender" id="male" value="male">
<label class="form-check-label" for="male">
男
label>
div>
<div class="form-check">
<input class="form-check-input" type="radio" name="gender" id="female" value="female">
<label class="form-check-label" for="female">
女
label>
div>
⚡ 性能优化:让移动端页面加载更快
d-none d-sm-block
可以在不同屏幕尺寸下显示或隐藏元素,避免加载不必要的内容。