移动端WEB开发之响应式布局

本文介绍了响应式开发的原理和布局容器的使用,通过实例展示了如何利用媒体查询适应不同屏幕尺寸。同时,文章探讨了阿里百秀移动端首页的技术选型,采用Bootstrap框架,针对不同屏幕尺寸(超小、小、中、大)进行布局调整。此外,提到了移动端技术选型,推荐使用流式布局、flex弹性布局和rem适配布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 响应式开发

1.1 响应式开发原理
就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的。
在这里插入图片描述

1.2 响应式布局容器

响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果。
原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式变化。

平时我们的响应式尺寸划分

超小屏幕(手机,小于 768px):设置宽度为 100%
 小屏幕(平板,大于等于 768px):设置宽度为 750px
 中等屏幕(桌面显示器,大于等于 992px):宽度设置为 970px
 大屏幕(大桌面显示器,大于等于 1200px):宽度设置为 1170px

案例:响应式导航

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			ul{
				list-style: none;
			}
			.container{
				width: 750px;
				margin: 0 auto;
			}
			.container ul li{
				float: left;
				width: 93.75px;
				height: 30px;
				background-color: green;
			}
			@media screen and (max-width:767px) {
				.container{
					width: 100%;
				}
				.container ul li{
					width: 33.33%;
				}
			}
		</style>
	</head>
	<body>
		<div class="container">
			<ul>
				<li>导航栏</li>
				<li>导航栏</li>
				<li>导航栏</li>
				<li>导航栏</li>
				<li>导航栏</li>
				<li>导航栏</li>
				<li>导航栏</li>
				<li>导航栏</li>
			</ul>
		</div>
	</body>
</html>

案例:阿里百秀移动端首页

技术选型
方案:我们采取响应式页面开发方案
技术:bootstrap框架
设计图: 本设计图采用 1280px 设计尺寸
2. 屏幕划分分析
① 屏幕缩放发现 中屏幕 和 大屏幕布局 是一致的。 因此我们列 定义为 col-md- 就可以了, md 是大于等于 970 以上的
② 屏幕缩放发现 小屏幕 布局发生变化,因此我们需要为 小屏幕根据需求改变布局
③ 屏幕缩放发现 超小屏幕布局又发生变化,因此我们需要为 超小屏幕根据需求改变布局
④ 策略: 我们先布局 md以上的 pc端布局,最后根据实际需求在修改 小屏幕 和 超小屏幕的 特殊布局样式

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<meta http-equiv="X-UA-Compatible" content="ie=edge">
		<!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/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">
				<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>
						</ul>
					</div>
				</header>
				<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">
								<h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
								<p class="text-muted hidden-xs">alibaixiu 发布于 2015-11-23</p>
								<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位, 事实上从指甲的健康状况可以看出一个人的身体健康状况, 快来看看10个暗藏在指甲里知识吧!</p>
								<p class="text-muted">阅读(2417)评论(1)赞 (18) <span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 /
										皮肤 / 营养 / 趣味生活</span>

								</p>
							</div>
							<div class="col-sm-3 pic hidden-xs">
								<img src="upload/3.jpg" alt="">
							</div>
						</div>
						<div class="row">
							<div class="col-sm-9">
								<h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
								<p class="text-muted hidden-xs">alibaixiu 发布于 2015-11-23</p>
								<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位, 事实上从指甲的健康状况可以看出一个人的身体健康状况, 快来看看10个暗藏在指甲里知识吧!</p>
								<p class="text-muted">阅读(2417)评论(1)赞 (18) <span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 /
										皮肤 / 营养 / 趣味生活</span>

								</p>
							</div>
							<div class="col-sm-3 pic hidden-xs">
								<img src="upload/3.jpg" alt="">
							</div>
						</div>
						<div class="row">
							<div class="col-sm-9">
								<h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
								<p class="text-muted hidden-xs">alibaixiu 发布于 2015-11-23</p>
								<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位, 事实上从指甲的健康状况可以看出一个人的身体健康状况, 快来看看10个暗藏在指甲里知识吧!</p>
								<p class="text-muted">阅读(2417)评论(1)赞 (18) <span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 /
										皮肤 / 营养 / 趣味生活</span>

								</p>
							</div>
							<div class="col-sm-3 pic hidden-xs">
								<img src="upload/3.jpg" alt="">
							</div>
						</div>
						<div class="row">
							<div class="col-sm-9">
								<h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
								<p class="text-muted hidden-xs">alibaixiu 发布于 2015-11-23</p>
								<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位, 事实上从指甲的健康状况可以看出一个人的身体健康状况, 快来看看10个暗藏在指甲里知识吧!</p>
								<p class="text-muted">阅读(2417)评论(1)赞 (18) <span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 /
										皮肤 / 营养 / 趣味生活</span>

								</p>
							</div>
							<div class="col-sm-3 pic hidden-xs">
								<img src="upload/3.jpg" alt="">
							</div>
						</div>
						<div class="row">
							<div class="col-sm-9">
								<h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
								<p class="text-muted hidden-xs">alibaixiu 发布于 2015-11-23</p>
								<p class="hidden-xs">指甲是经常容易被人们忽略的身体部位, 事实上从指甲的健康状况可以看出一个人的身体健康状况, 快来看看10个暗藏在指甲里知识吧!</p>
								<p class="text-muted">阅读(2417)评论(1)赞 (18) <span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 /
										皮肤 / 营养 / 趣味生活</span>

								</p>
							</div>
							<div class="col-sm-3 pic hidden-xs">
								<img src="upload/3.jpg" alt="">
							</div>
						</div>
					</div>
				</article>
				<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>这里收录国内各个领域的优秀博客,是一个全人工编辑的开放式博客联盟交流和展示平台......</p>
					</a>
				</aside>
			</div>
		</div>
	</body>
</html>
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;
}

@media  screen and (min-width:1280) {
	.container{
		width: 1280px;
	}
}

/* header */
header{
	padding-left: 0!important;
}
.logo{
	background-color: #429ad9;
}
.logo img{
	display: block;
	/* width: 100%; */
	max-width: 100%;
	margin: 0 auto;
}
.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 #CCCCCC;
}

.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;
}
@media screen and (max-width:991px){
	.nav li{
		float: left;
		width: 20%;
	}
	article{
		margin-top: 10px;
	}
}
@media screen and (max-width:767px){
	.nav li a{
		font-size: 14px;
		padding-left: 0;
	}
	.news li:nth-child(1){
		width: 100%!important;
	}
	.news li{
		width: 50%!important;
	}
	.publish h3{
		font-size: 14px;
	}
}

.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%;
	/* background-color: purple; */
}

.news li:nth-child(1){
	width: 50%;
	height: 266px;
	/* background-color: white; */
}
.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;
	margin-bottom: 0;
	background: rgba(0,0,0,.5);
	font-size: 12px;
	color: #fff;
	padding: 5px 10px;
}

.publish{
	border-top: 1px solid #CCCCCC;
}
.publish .row{
	border-bottom: 1px solid #CCCCCC;
	padding: 10px 0;
}

.pic{
	margin-top: 10px;
}
.pic img{
	width: 100%;
}

.banner img{
	width: 100%;
}
.hot{
	display: block;
	margin-top: 20px;
	padding: 0 20px 20px;
	border: 1px solid #CCCCCC;
}
.hot span{
	border-radius: 0;
	margin-bottom: 20px;
}
.hot p{
	font-size: 12px;
}

在这里插入图片描述
在这里插入图片描述

5.2移动端技术选型

 流式布局(百分比布局)
 flex 弹性布局(推荐)  rem适配布局(推荐)
 响应式布局
建议: 我们选取一种主要技术选型, 其他技术做为辅助,这种混合技术开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值