移动Web开发-流式布局
移动web开发流式布局移动端基础浏览器现状 PC端常见浏览器:360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览器、搜狗浏览器、IE浏览器。
移动端常见浏览器:UC浏览器,QQ浏览器,欧朋浏览器,百度手机浏览器,360安全浏览器,谷歌浏览器,搜狗手机浏览器,猎豹浏览器,以及其他杂牌浏览器。
国内的UC和QQ,百度等手机浏览器都是根据Webkit修改过来的内核,国内尚无自主研发的内核,就像国内的手机操作系统都是基于Android修改开发的一样。
总结:兼容移动端主流浏览器,处理Webkit内核浏览器即可。
手机屏幕的现状
移动端设备屏幕尺寸非常多,碎片化严重。
Android设备有多种分辨率:480x800, 480x854, 540x960, 720x1280,1080x1920等,还有传说中的2K,4k屏。
近年来iPhone的碎片化也加剧了,其设备的主要分辨率有:640x960, 640x1136, 750x1334, 1242x2208等。
作为开发者无需关注这些分辨率,因为我们常用的尺寸单位是 px 。
常见移动端屏幕尺寸
移动端调试方法
Chrome DevTool ...
品优购项目-下
目标
能够写出列表页
能够写出注册页
能够把品优购网站部署到本地服务器
能够把品优购网站上传到远程服务器
品优购项目首页制作main 主体模块制作以前书写的就是模块化中的公共部分。
main 主体模块是 index 里面专有的,注意需要新的样式文件 index.css
main 盒子宽度为 980 像素,高度是455像素,位置距离左边 220px (margin-left ) ,给高度就不用清除浮动
main 里面包含左侧盒子,宽度为 721像素,左浮动,focus 焦点图模块
main 里面包含右侧盒子,宽度为 250像素,右浮动,newsflash 新闻快报模块
结构代码
<div class="w">
<div class="main">
<div class="focus">
...
</div>
<div class="newsflash">
...
</div>
...
品优购项目-上
品优购项目-上目标
能够遵循品优购代码规范
能够在品优购首页中引入 favicon 图标
能够说出三大标签 SEO 优化
能够在品优购首页中使用字体图标
能够说出 LOGO 需要哪些 SEO 优化
品优购项目规划网站制作流程
原型图: 页面的布局,告知我们开发人员,整个页面的结构是怎样的,说白了就是什么地方放什么内容
效果图:告知我们开发人员,最终做出来的成品应该是什么样子,相比原型图,效果图里面包含内容,风格,字体大小等等
品优购项目介绍
项目名称:品优购
项目描述:品优购是一个电商网站,我们要完成 PC 端首页、列表页、注册页面的制作
主页
列表页
注册页
品优购项目的学习目的
电商类网站比较综合,里面需要大量的布局技术,包括布局方式、常见效果以及周边技术
品优购项目能复习、总结、提高基础班所学布局技术
写完品优购项目,能对实际开发中制作 PC 端页面流程有一个整体的感知
为后期学习移动端项目做铺垫
开发工具以及技术栈开发工具VScode 、Photoshop(fw)、主流浏览器(以Chrome浏览器为主)
技术栈
利用 HTML5 + CSS3 手动布局,可以大量 ...
BFC
学习目标:
理解BFC
了解渐进增强和优雅降级
BFC(块级格式化上下文)BFC(Block formatting context)
直译为”块级格式化上下文”。
元素的显示模式我们前面讲过 元素的显示模式 display。
分为 块级元素 行内元素 行内块元素 ,其实,它还有很多其他显示模式。
那些元素会具有BFC的条件不是所有的元素模式都能产生BFC,w3c 规范:
display 属性为 block, list-item, table 的元素,会产生BFC.
大家有么有发现这个三个都是用来布局最为合理的元素,因为他们就是用来可视化布局。
注意其他的,display属性,比如 line 等等,他们创建的是 IFC ,我们暂且不研究。
这个BFC 有着具体的布局特性:
有宽度和高度 , 有 外边距margin 有内边距padding 有边框 border。
就好比,你有了练习武术的体格了。 有潜力,有资质。
什么情况下可以让元素产生BFC以上盒子具有BFC条件了,就是说有资质了,但是怎样触发才会产生BFC,从而创造这个封闭的环境呢?
在好比,你光有资质还 ...
CSS从入门到精通
课程目标:
学会使用CSS选择器
熟记CSS样式和外观属性
熟练掌握CSS各种选择器
熟练掌握CSS各种选择器
熟练掌握CSS三种显示模式
熟练掌握CSS背景属性
熟练掌握CSS三大特性
熟练掌握CSS盒子模型
熟练掌握CSS浮动10.熟练掌握CSS定位11.熟练掌握CSS高级技巧强化CSS
CSS的发展历程从HTML被发明开始,样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越杂乱,而且HTML页面也越来越臃肿。于是CSS便诞生了。
CSS 网页的美容师CSS的出现,拯救了混乱的HTML,当让更加拯救了我们web开发者。 让我们的网页更加丰富多彩。
CSS的最大贡献就是: 让 HTML 从样式中解脱苦海, 实现了 HTML 专注去做 结构呈现。 而样式交给 CSS 后,你完全可以放心的早点洗洗睡了!
而且。。。。。 CSS 做的很出色,如果JavaScript是网页的魔法师,那么 ...
HTML从入门到精通
学习目标:
了解常用浏览器
掌握WEB标准
理解标签语义化
掌握常用的排版标签
掌握常用的文本格式化图像链接等标签
掌握三种列表标签
掌握表格标签
掌握表格标签
掌握表单标签
掌握H5新增表单和表单属性
认识网页网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。
思考: 网页是如何形成的呢?
常见浏览器介绍浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。
查看浏览器占有的市场份额(知晓)查看网站: http://tongji.baidu.com/data/browser
浏览器内核(理解)浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。渲染引擎 它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不 ...
MapReduce入门与基础理论
MapReduce入门与基础理论初识MapReduce理解MapReduce思想MapReduce思想在生活中处处可见,每个人或多或少都曾接触过这种思想。MapReduce的思想核心是“先分再合,分而治之”, 所谓“分而治之”就是把一个复杂的问题,按照一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的结果,把各部分的结果组成整个问题的结果。
这种思想来源于日常生活与工作时的经验,同样也完全适用于大量复杂的任务处理场景(大规模数据处理场景)。即使是发布过论文实现分布式计算的谷歌也只是实现了这种思想,而不是自己原创。
Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。
Reduce负责“合”,即对map阶段的结果进行全局汇总。
这两个阶段合起来正是MapReduce思想的体现。
一个比较形象的语言解释MapReduce:
我们要数停车场中的所有的车数量。你数第一列,我数第二列。这就是“Map”。我们人越多,能够同时数车的人就越多,速度就越快。
数完之后,我们聚到一起, ...
Scala之包,样例
Scala第九章节章节目标
理解包的相关内容
掌握样例类, 样例对象的使用
掌握计算器案例
包实际开发中, 我们肯定会遇到同名的类, 例如: 两个Person类. 那在不改变类名的情况下, 如何区分它们呢?
这就要使用到包(package)了.
简介包就是文件夹, 用关键字package修饰, 它可以区分重名类, 且功能相似的代码可以放到同一个包中, 便于我们维护和管理代码.
注意:
编写Scala源代码时, 包名和源码所在的目录结构可以不一致.
编译后, 字节码文件和包名路径会保持一致(由编译器自动完成).
包名由数字, 大小写英文字母, _(下划线), $(美元符)组成, 多级包之间用.隔开, 一般是公司域名反写.
例如: com.itheima.demo01, cn.itcast.demo02
格式
格式一: 文件顶部标记法, 合并版
package 包名1.包名2.包名3 //根据实际需求, 可以写多级包名
//这里可以写类, 特质...
格式二: 文件顶部标记法, 分解版
package 包名1.包名2
package 包名3 ...
Scala之特质
Scala第八章节章节目标
能够使用trait独立完成适配器, 模板方法, 职责链设计模式
能够独立叙述trait的构造机制
能够了解trait继承class的写法
能够独立完成程序员案例
特质入门概述有些时候, 我们会遇到一些特定的需求, 即: 在不影响当前继承体系的情况下, 对某些类(或者某些对象)的功能进行加强, 例如: 有猴子类和大象类, 它们都有姓名, 年龄, 以及吃的功能, 但是部分的猴子经过马戏团的训练后, 学会了骑独轮车. 那骑独轮车这个功能就不能定义到父类(动物类)或者猴子类中, 而是应该定义到特质中. 而Scala中的特质, 要用关键字trait修饰.
特点
特质可以提高代码的复用性.
特质可以提高代码的扩展性和可维护性.
类与特质之间是继承关系, 只不过类与类之间只支持单继承, 但是类与特质之间, 既可以单继承, 也可以多继承.
Scala的特质中可以有普通字段, 抽象字段, 普通方法, 抽象方法.
注意:
如果特质中只有抽象内容, 这样的特质叫: 瘦接口.
如果特质中既有抽象内容, 又有具体内容, 这样的特质叫: 富接口.
语法定义特质 ...
Scala之类对象
Scala第六章节章节目标
掌握类和对象的定义
掌握访问修饰符和构造器的用法
掌握main方法的实现形式
掌握伴生对象的使用
掌握定义工具类的案例
类和对象Scala是一种函数式的面向对象语言, 它也是支持面向对象编程思想的,也有类和对象的概念。我们依然可以基于Scala语言来开发面向对象的应用程序。
相关概念什么是面向对象?
面向对象是一种编程思想, 它是基于面向过程的, 强调的是以对象为基础完成各种操作.
面向对象的三大思想特点是什么?
1. 更符合人们的思考习惯.
2. 把复杂的事情简单化.
3. 把程序员从执行者变成指挥者.
面试题: 什么是面向对象? 思路: 概述, 特点, 举例, 总结.
什么是类?
类是属性和行为的集合, 是一个抽象的概念, 看不见, 也摸不着.
属性(也叫成员变量): 名词, 用来描述事物的外在特征的.
行为(也叫成员方法): 动词, 表示事物能够做什么.
例如: 学生有姓名和年龄(这些是属性), 学生要学习, 要吃饭(这些是行为).
什么是对象?
对象是类的具体体现, 实现.
面向对象的三大特征是什么?
封装, 继承, 多态 ...
Scala之面向对象
Scala第七章节章节目标
掌握继承和抽象类相关知识点
掌握匿名内部类的用法
了解类型转换的内容
掌握动物类案例
继承概述实际开发中, 我们发现好多类中的内容是相似的(例如: 相似的属性和行为), 每次写很麻烦. 于是我们可以把这些相似的内容提取出来单独的放到一个类中(父类), 然后让那多个类(子类)和这个类(父类)产生一个关系, 从而实现子类可以访问父类的内容, 这个关系就叫: 继承.
因为scala语言是支持面向对象编程的,我们也可以使用scala来实现继承,通过继承来减少重复代码。
语法
scala中使用extends关键字来实现继承
可以在子类中定义父类中没有的字段和方法,或者重写父类的方法
类和单例对象都可以有父类
语法
class/object A类 extends B类 {
..
}
叫法
上述格式中, A类称之为: 子类, 派生类.
B类称之为: 父类, 超类, 基类.
类继承需求
已知学生类(Student)和老师类(Teacher), 他们都有姓名和年龄(属性), 都要吃饭(行为), 请用所学, 模拟该需求.
方式一: 非继承版.
obj ...
Scala之方法函数
Scala第五章节章节目标
掌握方法的格式和用法
掌握函数的格式和用法
掌握九九乘法表案例
方法概述实际开发中, 我们需要编写大量的逻辑代码, 这就势必会涉及到重复的需求. 例如: 求10和20的最大值, 求11和22的最大值, 像这样的需求, 用来进行比较的逻辑代码需要编写两次, 而如果把比较的逻辑代码放到方法中, 只需要编写一次就可以了, 这就是方法. scala中的方法和Java方法类似, 但scala与Java定义方法的语法是不一样的。
语法格式def 方法名(参数名:参数类型, 参数名:参数类型) : [return type] = {
//方法体
}
注意:
参数列表的参数类型不能省略
返回值类型可以省略,由scala编译器自动推断
返回值可以不写return,默认就是{}块表达式的值
示例需求:
定义一个方法getMax,用来获取两个整型数字的最大值, 并返回结果(最大值).
调用该方法获取最大值, 并将结果打印到控制台上.
参考代码
方式一: 标准写法
//1. 定义方法, 用来获取两个整数的最大值.
def getMax(a:Int, ...