文章目录
案例:阿里百秀移动端首页
一、技术选型
方案: 采取响应式页面开发方案
技术: Bootstrap框架
设计图: 采用1280px设计尺寸
二、需求分析
1.页面布局分析
2.屏幕划分分析
- 屏幕缩放发现,中屏幕和大屏幕布局是一致的。因此列定义为col-md-就可以了,md是大于等于970px以上的。
- 屏幕缩放发现,小屏幕布局发生变化,因为需要为小屏幕根据需求改变布局。
- 屏幕缩放发现,超小屏幕布局又发生变化,因此需要为超小屏幕根据需求改变布局
- 策略:先布局md以上的pc端布局,最后根据实际需求再修改小屏幕和超小屁股木的特殊布局样式
三、页面制作
Bootstrap使用分为四步:1.创建文件夹结构。2.创建html骨架结构。3.引入相关样式文件。4.书写内容。
1.创建文件夹结构
2.创建html骨架结构
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=0">
<!--[if lt IE 9]>
<script src="https://fastly.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
<![endif]-->
3.引入相关样式文件
<!-- 引入bootstrap的样式文件 -->
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<!-- 引入我们自己的首页样式文件 -->
<link rel="stylesheet" href="css/index.css">
4.书写内容
header部分
<header class="col-md-2">
<div class="logo">
<a href="#">
<img src="images/logo.png" alt="">
</a>
</div>
<div class="nav">
<ul>
<li>
<a href="#" class="glyphicon glyphicon-camera">生活馆</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-picture">自然汇</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-phone">科技潮</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-gift">奇趣事</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-glass">美食杰</a>
</li>
</div>
</header>
5.container宽度修改
因为本效果图采取1280的宽度,而bootstrap里面container宽度最大为1170px,因此需要手动改下container宽度。
6.代码展示
(1)html部分
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=0">
<!--[if lt IE 9]>
<script src="https://fastly.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
<![endif]-->
<!-- 引入bootstrap的样式文件 -->
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<!-- 引入我们自己的首页样式文件 -->
<link rel="stylesheet" href="css/index.css">
<title>Document</title>
</head>
<body>
<div class="container">
<div class="row">
<!-- 1.header -->
<header class="col-md-2">
<div class="logo">
<a href="#">
<img src="images/logo.png" alt="" class="hidden-xs">
<span class="visible-xs">阿里百秀</span>
</a>
</div>
<div class="nav">
<ul>
<li>
<a href="#" class="glyphicon glyphicon-camera">生活馆</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-picture">自然汇</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-phone">科技潮</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-gift">奇趣事</a>
</li>
<li>
<a href="#" class="glyphicon glyphicon-glass">美食杰</a>
</li>
</div>
</header>
<!-- 2.article -->
<article class="col-md-7">
<!-- 新闻 -->
<div class="news clearfix">
<ul>
<li>
<a href="#">
<img src="upload/lg.png" alt="">
<p>阿里百秀</p>
</a>
</li>
<li>
<a href="#">
<img src="upload/1.jpg" alt="">
<p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
</a>
</li>
<li>
<a href="#">
<img src="upload/2.jpg" alt="">
<p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
</a>
</li>
<li>
<a href="#">
<img src="upload/3.jpg" alt="">
<p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
</a>
</li>
<li>
<a href="#">
<img src="upload/4.jpg" alt="">
<p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
</a>
</li>
</ul>
</div>
<!-- 发表 -->
<div class="publish">
<div class="row">
<div class="col-sm-9">
<h4>生活馆 关于之家的10个健康知识 你知道几个?</h4>
<p class="text-muted hidden-xs">alibaixiu 发布于 2021-8-25</p>
<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位,事实上从指甲的健康状况可以看出一个人的身体健康状况,快来看看10个暗藏在指甲例的知识吧!</p>
<p class="text-muted">阅读(9901)评论(0)赞(0)
<span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 / 皮肤 / 营养 / 趣味生活</span>
</p>
</div>
<div class="col-sm-3 pic hidden-xs">
<img src="upload/4.jpg" alt="">
</div>
</div>
<div class="row">
<div class="col-sm-9">
<h4>生活馆 关于之家的10个健康知识 你知道几个?</h4>
<p class="text-muted hidden-xs">alibaixiu 发布于 2021-8-25</p>
<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位,事实上从指甲的健康状况可以看出一个人的身体健康状况,快来看看10个暗藏在指甲例的知识吧!</p>
<p class="text-muted">阅读(9901)评论(0)赞(0)
<span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 / 皮肤 / 营养 / 趣味生活</span>
</p>
</div>
<div class="col-sm-3 pic hidden-xs">
<img src="upload/4.jpg" alt="">
</div>
</div>
<div class="row">
<div class="col-sm-9">
<h4>生活馆 关于之家的10个健康知识 你知道几个?</h4>
<p class="text-muted hidden-xs">alibaixiu 发布于 2021-8-25</p>
<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位,事实上从指甲的健康状况可以看出一个人的身体健康状况,快来看看10个暗藏在指甲例的知识吧!</p>
<p class="text-muted">阅读(9901)评论(0)赞(0)
<span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 / 皮肤 / 营养 / 趣味生活</span>
</p>
</div>
<div class="col-sm-3 pic hidden-xs">
<img src="upload/4.jpg" alt="">
</div>
</div>
<div class="row">
<div class="col-sm-9">
<h4>生活馆 关于之家的10个健康知识 你知道几个?</h4>
<p class="text-muted hidden-xs">alibaixiu 发布于 2021-8-25</p>
<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位,事实上从指甲的健康状况可以看出一个人的身体健康状况,快来看看10个暗藏在指甲例的知识吧!</p>
<p class="text-muted">阅读(9901)评论(0)赞(0)
<span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 / 皮肤 / 营养 / 趣味生活</span>
</p>
</div>
<div class="col-sm-3 pic hidden-xs">
<img src="upload/4.jpg" alt="">
</div>
</div>
</div>
</article>
<!-- aside -->
<aside class="col-md-3">
<a href="#" class="banner">
<img src="upload/zgboke.jpg" alt="">
</a>
<a href="#" class="hot">
<span class="btn btn-primary">热搜</span>
<h4 class="text-primary">欢迎加入中国博客联盟</h4>
<p class="text-muted">这里收录国内各个领域的优秀博客,是一个全人工编辑的开放式博客联盟交流和展示平台……</p>
</a>
</aside>
</div>
</div>
</body>
</html>
(2)css部分
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
a {
color: #666;
text-decoration: none;
}
a:hover {
text-decoration: none;
}
body {
background-color: #f5f5f5;
}
.container {
background-color: #fff;
}
/* 修改container的最大宽度为1280 根据设计稿来走 */
@media screen and(min-width:1280px) {
.container {
width: 1280px;
}
}
/* header */
header {
padding-left: 0!important;
}
.logo {
background-color: #429ad9;
}
.logo img {
display: block;
/* width: 100%; */
max-width: 100%;
/* logo图片不需要缩放 */
margin: 0 auto;
}
/* 1.如果我们进入超小屏幕下,logo里面的图片就隐藏起来 */
/* 2.事先准备好一个盒子,在logo里面,他平时是隐藏的,只有在超小屏幕下显示 */
.logo span {
display: block;
height: 50px;
line-height: 50px;
color: #fff;
font-size: 18px;
text-align: center;
}
.nav {
background-color: #eee;
border-bottom: 1px solid #ccc;
}
.nav a {
/* 转换为块级 */
display: block;
height: 50px;
line-height: 50px;
padding-left: 30px;
font-size: 16px;
}
.nav a:hover {
background-color: #fff;
color: #333;
}
.nav a::before {
vertical-align: middle;
padding-right: 5px;
}
/* 当我们进入 小屏幕还有超小屏幕的时候,nav里面的li浮动起来 并且宽度为20% */
@media screen and (max-width:991px) {
.nav li {
float: left;
width: 20%;
}
article {
margin-top: 10px;
}
}
/* 当进入 超小屏幕的时候 nav文字变成14px */
@media screen and (max-width:767px) {
.nav li a {
font-size: 14px;
padding-left: 15px;
}
/* 当处于超小屏幕时 第一个li 宽度为100% 剩下的小li各占50% */
.news li:nth-child(1) {
width: 100%!important;
}
.news li {
width: 50%!important;
}
.publish h4 {
font-size: 14px;
}
}
/* article */
.news li {
float: left;
width: 25%;
height: 128px;
padding-right: 10px;
margin-bottom: 10px;
}
.news li a {
position: relative;
display: block;
width: 100%;
height: 100%;
}
.news li:nth-child(1) {
width: 50%;
height: 266px;
}
.news li:nth-child(1) p {
line-height: 41px;
font-size: 20px;
padding: 0 10px;
}
.news li a img {
width: 100%;
height: 100%;
}
.news li a p {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 41px;
padding: 5px 8px;
margin-bottom: 0;
background: rgba(0, 0, 0, .5);
font-size: 10px;
color: #fff;
}
/* publish */
.publish {
border-top: 1px solid #ccc;
}
.publish .row {
border-bottom: 1px solid #ccc;
padding: 10px 0;
}
.pic {
margin-top: 10px;
}
.pic img {
width: 100%;
}
/* aside */
.banner img {
width: 100%;
}
.hot {
display: block;
border: 1px solid #ccc;
margin-top: 20px;
padding: 0 20px 20px;
}
.hot span {
border-radius: 0;
}
.hot p {
font-size: 12px;
}
(3)效果图展示
四、移动端布局总结
1.移动端主流方案
(1)单独制作移动端页面(主流)
京东……
(2)响应式页面兼容移动端(其次)
三星手机官网……
2.移动端技术选型
- 流式布局(百分比布局)
- flex弹性布局
- rem适配布局
- 响应式布局
建议:选取一种主要技术,其他技术作为辅助,混合技术开发