一、技术选型

二、需求分析

1.页面布局分析

2. 屏幕划分

三、页面制作

1. 项目前期准备

  1. 搭建项目结构

  2. 创建 html 骨架结构以及引入相关样式
<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>

2. container 宽度修改

index.css

/* 修改container最大宽度为 1280  */
@media screen and (min-width:1280px){
.container {
width: 1280px;
} }

3. 首页布局

index.html

 <div class="container">
<div class="row">
<header class="col-md-3">左侧</header>
<article class="col-md-7">中间</article>
<aside class="col-md-2">右侧</aside> </div>
</div>

4. logo制作

index.html

<header class="col-md-3">
<div class="logo">
<a>
<img src="data:images/logo.png"/>
</a>
</div>
</header>

index.css

/* header 左侧部分 */
.logo{
background-color: #429ad9;
}



我们发现左侧是有padding值的

如果我们不想要padding-left,可以给header设置或者再添加一个类,记住不能给col-md-3设置,不然后面也会相应的被设置

header{
padding-left: 0!important;
}

存在的问题,当屏幕缩放时,图片就会显示不全了

解决方法:让图片的宽度与父级一样宽,实现自适应的缩放效果

.logo img {
width: 100%;
}

5. nav 内容制作

index.html

<div class="nav">
<ul>
<li><a href="#" >生活馆</a></li>
<li><a href="#" >自然汇</a></li>
<li><a href="#" >科技湖</a></li>
<li><a href="#" >奇趣事</a></li>
<li><a href="#" >美食节</a></li>
</ul>
</div>

index.html

index.css

ul {
list-style-type: none;
margin: 0;
padding: 0;
}
a {
color: #666;
text-decoration: none;
}
a:hover {
text-decoration: none;
}
/* nav部分 */
.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;
}

6. nav 中引入字体图标

 <li><a href="#" class="glyphicon glyphicon-camera" >生活馆</a></li>



字体图标位置不对,需要调整一下字体图标位置

.nav a::before {
vertical-align: middle;
padding-right: 5px;
}



index.html

<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-th" >奇趣事</a></li>
<li><a href="#" class="glyphicon glyphicon-glass" >美食节</a></li>
</ul>
</div>

7. 新闻模块布局

index.html

 <article class="col-md-7">
<!-- 新闻模块 -->
<div class="news">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
</article>

index.css

/* 中间的新闻模块 */
.news li{
float:left;
width: 25%;
height: 128px; }
.news li:nth-child(1){
width: 50%;
background-color: pink;
height: 266px;
}

8. news 中的 第1 模块

想要第一个与后面的盒子有个 padding-right值,可以给 li 设置padding-right值,然后给里面的 a 设置宽高为 100%

.news li{
float:left;
width: 25%;
height: 128px;
padding-right: 10px;
}
.news li a {
width: 100%;
height: 100%;
background-color: purple;
display: block;
}



index.html

<li>
<a href="#">
<img src="upload/lg.png" alt="">
<p>阿里百秀</p>
</a>
</li>

index.css

.news li a img {
width: 100%;
height: 100%;
}
.news li a p {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 41px;
padding: 5px 10px;
/* bootstrap默认的p标签有下 外边距,所以需要把P的外边距去掉 */
margin-bottom: 0;
background: rgba(0, 0, 0, .5);
font-size: 12px;
color: #fff;
}
.news li:nth-child(1){
width: 50%;
/* background-color: pink; */
height: 266px;
} .news li:nth-child(1) p {
line-height: 41px;
font-size: 20px;
padding: 0 10px;
}

8. news 第2345模块

<div class="news">
<ul>
<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>



如图,需要给 每个 li 添加一个 margin-botttom

index.css

.news li{
float:left;
width: 25%;
height: 128px;
padding-right: 10px;
margin-bottom: 10px;
}

9.发表模块布局

index.html

<!-- 发表模块 -->
<div class="publish">
<div class="row">
<div class="col-sm-9">abc</div>
<div class="col-sm-3">123</div>
</div>
</div>



给 publish 添加 border-top

/* 发表模块 */
.publish{
border-top: 1px solid red;
}

当给 publish添加 border-top的时候,发现并没有显示出来,其实线时跑到最上面去了,上面的盒子,里面的孩子时浮动的,而且上面盒子没有给定高度,所以说是有问题的,那么我们就要给上面的news盒子清除浮动,在 bootstrap中已经为我们写好了清除浮动的类 就叫 clearfix

<div class="news clearfix">

10.发表publish 左侧内容制作

bootstrap中设置了一些字体大小样式

排版

<div class="col-sm-9">
<h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
</div>



辅助类修改文本颜色

<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>

10.发表publish 右侧内容制作

index.html

 <div class="col-sm-3 pic">
<img src="upload/2.jpg"/>
</div>

index.css

.publish .row {
border-bottom: 1px solid #ccc;
padding: 10px 0;
}
.pic {
margin-top: 10px;
}
.pic img {
width: 100%;
}

11. asider 内容制作

index.html

<!-- 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>这里收录国内各个领域的优秀博客,是一个全人工编辑的开放式博客联盟交流和展示平台......</p>
</a>
</aside>

index.css

/* aside部分 */
.banner img {
width: 100%;
} .hot {
display: block;
margin-top: 20px;
padding: 0 20px 20px;
border: 1px solid #ccc;
}
/* 在bootstrap中有圆角边框,我们可以设置成自己想要的样式 */
/* 将span 的border-radius去掉 */
.hot span {
border-radius: 0;
margin-bottom: 20px;
} .hot p {
font-size: 12px;
}

bootstrap中,可以给任意元素添加按钮的样式,并且我们可以在它的基础上去修改成我们想要的样式

四、页面进行响应式

1. logo响应式制作



当我们对页面进行缩放时,发现logo的图片也跟着缩放,但是我们不需要图片缩放,图片就保持原来的大小,让图片水平居中就行

.logo img {
/* width: 100%; */
max-width: 100%;
}



让图片居中对齐

.logo img {
/* width: 100%; */
max-width: 100%;
display: block;
margin: 0 auto;
}



在超小屏幕下,logo图片里的文字就显得有点大

当我们进入超小屏幕下, logo里面的图片就会隐藏起来,取而代之的是我们准备好的一个文本

1.让logo图片在超小屏幕下隐藏

<div class="logo">
<a>
<img src="data:images/logo.png" class="hidden-xs"/>
</a>
</div>



2.我们事先准备一个盒子装文本,它平时是隐藏的,只有在超小屏幕下才显示

<div class="logo">
<a>
<img src="data:images/logo.png" class="hidden-xs"/>
<span class="visible-xs">阿里百秀</span>
</a>
</div>
.logo span {
display: block;
height: 50px;
line-height: 50px;
color: #fff;
font-size: 18px;
text-align: center;
}

2.nav 响应式制作

/* 当我们进入小屏幕的时候,然nav里面的 li 都浮动起来,并且每个li 的宽度为20%; */
/* 并且让article有一个marin-top */
@media screen and (max-width:991px){
.nav li{
float: left;
width: 20%;
}
article {
margin-top: 10px;
}
}
/* 当我们进入超小屏幕的时候,让 li的文字变得小一些 */
@media screen and (max-width:767px){
.nav li a{
font-size: 12px;
}
}

3. news 响应式布局

/* 当我们进入超小屏幕的时候,让 li的文字变得小一些 */
@media screen and (max-width:767px){
.nav li a{
font-size: 12px; /* 在超小屏幕下nav 中的 a 就看不到了,所以需要设置一下 padding-left */
padding-left: 0;
}
/* 当我们进入超小屏幕下 让 news 第一个li 宽度为100% 剩下的小 li 各50% */
.news li:nth-child(1){
width: 100%!important;
}
.news li{
width: 50%!important;
}
}

4. publish 响应式布局

在超小屏幕下 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/2.jpg"/>
</div>
</div>

超小屏幕下 让 publish中的 h3 文字小一些

   .news li{
width: 50%!important;
}
.publish h3 {
font-size: 14px;
}

移动 WEB 开发之 阿里百秀移动端页面制作的更多相关文章

  1. 阿里百秀后台管理项目笔记 ---- Day01

    摘要 在此记录一下阿里百秀项目的教学视频的学习笔记,部分页面被我修改了,某些页面效果会不一样,基本操作是一致的,好记性不如烂笔头,加油叭!!! step 1 : 整合全部静态页面 将静态页面全部拷贝到 ...

  2. TERSUS无代码开发(笔记05)-简单实例电脑端页面设计

    案例笔记电脑端页面设计   1.新建项目(请假管理qjgl)   2.开发软件界面介绍(常用的功能按键)      3.目录中显示元件对象      4.对元件对象的操作主要方式是双击(双击哪个元件, ...

  3. python web开发c6——阿里云上ubuntu+flask+gunicorn+nginx服务器部署(一)简单测试

    简述 Nginx在服务器部署中的作用 请求通过Nginx实现反向代理,将请求提交给代理服务器.本文中只用了一台服务器,所以是代理到本机. gunicorn的作用 作为服务器代码的容器.接收Nginx的 ...

  4. 移动Web开发-WebApp(flex布局+移动端导航案例)

    实际开发中的像素:css像素设备像素比dpr=设备像素/css像素标清屏dpr=1 高清屏dpr=2缩放改变的是css像素大小PPI(每英寸的物理像素点)=根号(屏幕横向分辨率²+屏幕纵向分辨率²)/ ...

  5. 移动web开发之布局

    移动web开发流式布局 1.0 移动端基础 1.1浏览器现状 PC端常见浏览器:360浏览器.谷歌浏览器.火狐浏览器.QQ浏览器.百度浏览器.搜狗浏览器.IE浏览器. 移动端常见浏览器:UC浏览器,Q ...

  6. Web开发技术的演变

    原文出处: WildFly   欢迎分享原创到伯乐头条 受到好文<Web开发的发展史>(英文)激发的灵感,写下我对web开发技术的认识. 1. 静态页面时代 大学时候,上机还得换卡穿拖鞋, ...

  7. Web开发——HTML基础

    文档资料参考: 参考:MDN官网 参考:http://www.runoob.com,W3School 参考:https://developer.mozilla.org/zh-CN/docs/Learn ...

  8. 转Web开发的发展史---Web开发技术的演变

    转自:http://blog.csdn.net/zzzkk2009/article/details/9849431 在接下来的几个月时间里,我打算写一系列关于完整web开发的文章.这第一篇文章虽然有所 ...

  9. PHP 系列:PHP Web 开发基础

    PHP是动态类型的Web开发的脚本语言,PHP以页面文件作为加载和运行的单元,PHP现在有了Composer作为开发包管理. 1.使用Composer管理依赖 自从.NET开发用了Nuget管理程序集 ...

  10. PHP. 01. C/S架构、B/S架构、服务器类型、服务器软件、HTTP协议/服务器、数据库、服务器web开发、PHP简介/常见语法、PHPheader()、 PHP_POST/GET数据获取和错误处理

    C/S架构 Client/Server 指客户端,服务器 架构的意思 优点:性能性高:可将一部分的计算工作放在客户端上,服务器只需处理出局即可   洁面炫酷,可使用更多系统提供的效果 缺点:更新软件需 ...

随机推荐

  1. jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一)

    jdk线程池ThreadPoolExecutor工作原理解析(自己动手实现线程池)(一) 线程池介绍 在日常开发中经常会遇到需要使用其它线程将大量任务异步处理的场景(异步化以及提升系统的吞吐量),而在 ...

  2. JavaScript for循环的终止问题

    js的for循环,return,break,continue的使用方式和解释 let funcFor = () => { for (let i = 0; i < 4; i++) { if ...

  3. Java安全之CC4,5,7

    前言 前边已经将CC链中的关键部分学习差不多,接下来就是一些扩展思路, CC4 ObjectInputStream.readObject() PriorityQueue.readObject() Pr ...

  4. hwlog----types.go

    // Copyright(C) 2021. Huawei Technologies Co.,Ltd. All rights reserved.// Package hwlog provides the ...

  5. day03-实现02

    实现02 3.实现任务阶段3-处理Servlet02 3.3Servlet规范设计 3.3.1MyServlet 该类模仿Servlet接口,为了简化,只声明了三个方法:init(),service( ...

  6. Python冷知识:如何找出新版本增加或删除了哪些标准库?

    "内置电池"是 Python 最为显著的特性之一,它提供了 200 多个开箱即用的标准库.但是,历经了 30 多年的发展,很多标准库已经成为了不得不舍弃的历史包袱,因为它们正在&q ...

  7. 启动homestead虚拟机 vagrant up执行后,提示Timed out while waiting for the machine to boot

    最近在启动homestead虚拟机时,总会卡在ssh验证这,几分钟后,就报timed out-- 以往都是重启电脑后,再次执行vagrant up后就能正常启动. 今日重启电脑很多次也无用. 查询解决 ...

  8. 处理get请求中文乱码tomcat请求

    修改tomcat中server配置:添加 URIEncoding="UTF-8" <Connector port="8090" protocol=&quo ...

  9. 【ASP.NET Core】MVC控制器的各种自定义:特性化的路由规则

    MVC的路由规则配置方式比较多,咱们用得最多的是两种: A.全局规则.就是我们熟悉的"{controller}/{action}". app.MapControllerRoute( ...

  10. 【每日一题】【第n个 n-->0】19./NC53 【删除】链表的倒数第 N 个结点-211123/220127

    给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 答案: import java.util.*; /* * public class ListNode { * int val; * ...