一、技术选型

二、需求分析

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. 重新整理 .net core 实践篇 ———— linux上排查问题实用工具 [外篇]

    前言 介绍下面几个工具: Lldb createdump dotnet-dump dotnet-gcdump dotnet-symbol Procdump 该文的前置篇为: https://www.c ...

  2. 嵌入式-C语言基础:字符串比较函数strcmp及其实现

    #include<stdio.h> #include <string.h> int mystrcmp(char * p1,char * p2) { int ret=0; if( ...

  3. [论文阅读] 颜色迁移-EM概率分割的局部颜色迁移

    颜色迁移-EM概率分割的局部颜色迁移 文章: Local Color Transfer via Probabilistic Segmentation by Expectation-Maximizati ...

  4. 垃圾回收、python中的流程控制

    垃圾回收机制 1.概念 垃圾回收机制(GC):是Python解释器自带一种机制,专门用来回收不可用的变量值所占用的内存空间 2.原理 Python的垃圾回收机制(GC)主要使用引用计数(referen ...

  5. 一步一图带你深入理解 Linux 物理内存管理

    1. 前文回顾 在上篇文章 <深入理解 Linux 虚拟内存管理> 中,笔者分别从进程用户态和内核态的角度详细深入地为大家介绍了 Linux 内核如何对进程虚拟内存空间进行布局以及管理的相 ...

  6. vue 中使用 this 更新数据的一次大坑

    情景说明: 之前用 vue 做数据绑定更新时,发现一个莫名奇妙的问题. 我在 vue 实例中声明了一个数组属性如 books: [],在异步请求的回调函数中使用 this.books = res.da ...

  7. 165 pbi-utils 使用文档

    165 pbi-utils 使用文档 一.背景 先来说一下为什么会有 pbi-utils 这个小工具吧.在我日常做演示的示例文件的时候,每次都要重新搞一次 Power BI Desktop,就想能不能 ...

  8. python-面向过程与函数式

    面向过程与函数式 面向过程 "面向过程"核心是"过程"二字,"过程"指的是解决问题的步骤,即先干什么再干什么......,基于面向过程开发程 ...

  9. 【面试题总结】Java并发-多线程、JUC详述(思维导图)

    〇.整体目录 一.多线程 1.实现方式 2.内存图 3.线程状态 4.实现线程同步 5.并发编程 二.JUC 1.概述与volatile关键字 2.ThreadLocal类 3.CAS方法 4.ato ...

  10. 【JUC】信号量Semaphore详解

    欢迎关注专栏[JAVA并发] 欢迎关注个人公众号-- JAVA旭阳 前言 大家应该都用过synchronized 关键字加锁,用来保证某个时刻只允许一个线程运行.那么如果控制某个时刻允许指定数量的线程 ...