第三章页面布局总结

总体布局如下:

 微信小程序的视图层由WXML和WXSS组成。其中,WXSS(WeiXin Slyle Sheets)是基于CSS拓展的样式语言,用于描述WXML的组成样式,决定WXML的组件如何显示。WXSS具有Css的大部分特性,因此,本章将重点讲解CSS的布局相关内容

在页面设计中,只有掌握了盒子模型以及盒子模型的各个属性和应用方法,才能轻松控制页面中的各个元素。

盒子模型就是我们在页面设计中经常用到的种思维模型。在CSS中,一个独立的盒子模型由内容(content)、内边距(padding)、边框(border)和外边距(margin)4个部分组成,如图所示

 

 此外,对 padding、border 和 margin 可以进一步细化为上、下、左、右4个部分,在 CSS中可以分别进行设置,如图所示

一、块级元素与 行内元素 

1,块级元素

 块级元素默认占一行高度,一行内通常只有一个块级元素(浮动后除外),添加新的块级元素时,会自动换行,块级元素一般作为盒子出现。块级元素的特点如下:
(1)一个块级元素占一行。
(2)块级元素的默认高度由内容决定,除非自定义高度。
(3)块级元素的默认宽度是父级元素的内容区宽度,除非自定义宽度。
(4)块级元素的宽度、高度、外边距及内边距都可以自定义设置。
(5)块级元素可以容纳块级元素和行内元素。
<view/>组件默认为块级元素,使用<view/>组件演示盒子模型及块级元素的示例代
码如下:

<!--pages/ketan/ketan.wxml-->
<view style="border: 1px solid #f00">块级元素1</view>
<view style="border: 1px solid #0f0;margin: 15px;padding:20px">块级元素2</view>
<view style="border: 1px solid #00f;width:200px;height:80px">块级元素3</view>
<view style="border: 1px solid  #ccc;">
<view style="height: 60px">块级元素4</view></view>
<view style="border: 1px solid #f00;width:100px;background-color:#ccc">父级元素高度随内容决定,内容为文本</view>

 运行结果如下:

2,行内元素

行内元素,不必从新一行开始,通常会与前后的其他行内元素显示在同一行中,它们不古有独立的区域,仅靠自身内容支撑结构,一般不可以设置大小,常用于控制页面中文本的样式。将一个元素的 display属性设置为inline后,该元素即被设置为行内元素。行内元素的特点如下:
(1)行内元素不能被设置高度和宽度,其高度和宽度由内容决定。

(2)行内元素内不能放置块级元素,只级容纳文本或其他行内元索
(3)同一块内,行内元素和其他行内元素显示在同一行。
<text>组件默认为行内元素,使用<view/>及<text>组件演示盒子模型及行内元案的示例代码如下:

<view style="padding: 20px">
<text style="border: 1px solid #f00">文本1</text>
<text style="border: 1px solid #0f0;margin: 10px;padding: 5px">文本2</text>
<view style="border: 1px solid #00f;display: inline">块级元素设置为行内元素</view></view>

  运行结果如下:

3,行内块元素 

当元素的display 属性被设置为inline-block时,元素被设置为行内块元素。行内块元素可以被设置高度、宽度、内边距和外边距。示例代码如下:

<view>
<view style="display: inline-block;border: 1px solid #f00;margin: 10px;padding: 10px;width: 200px;">块级元素,行内元素和行内块元素</view></view>

  运行结果如下: 

二、浮动与定位 

1,元素浮动与清除
元索浮动就是拍设置了浮动属性的元案公股高标准文档流的控制,移到其父元家中福定位置的过程。在CSS中,通过自m照性来定义浮动,其基本整式如下:

{float:none|left|right;}

 其中。none--默认值,表示元素不浮动:
left--元素向左浮动:
right--元素向右浮动
在下面的示例代码中,分别对box1、box2、box3元系左浮动:

<!--pages/fudon/fudon.wxml-->
<view>box1,box2,box3 没浮动</view>
<view style="border: 1px solid #f00;padding:5px">
  <view style="border: 1px solid #0f0">box1</view>
  <view style="border: 1px solid #0f0">box2</view>
  <view style="border: 1px solid #0f0">box3</view>
</view>
<view>box1左浮动</view>
<view style="border: 1px solid #f00;padding:5px">
  <view style=" float:left;border: 1px solid #0f0">box1</view>
  <view style="border: 1px solid #0f0">box2</view>
  <view style="border: 1px solid #0f0">box3</view>
</view>
<view>box1 box2 左浮动</view>
<view style="border: 1px solid #f00;padding:5px">
  <view style=" float:left;border: 1px solid #0f0">box1</view>
  <view style="float:left;border: 1px solid #0f0">box2</view>
  <view style="border: 1px solid #0f0">box3</view>
</view>
<view>box1 box2 box3 左浮动</view>
<view style="border: 1px solid #f00;padding:5px">
  <view style=" float:left;border: 1px solid #0f0">box1</view>
  <view style="float:left;border: 1px solid #0f0">box2</view>
  <view style="float:left;border: 1px solid #0f0">box3</view>
</view>

   运行结果如下: 

通过案例我们发现,当box3 左浮动后,父元素的边框未能包裹 box3 元素。这时,可以通过清除浮动来解决。由于浮动元素不再占用原文档流的位置,因此它会对页面中其他元素的排列产生影响。在CSS中,clear 属性用于清除浮动元素对其他元素的影响,其基本格式如下:


{clear:left |right|both|none}

其中,len--清除左边浮动的影响,也就是不允许左侧有浮动元素;

right-清除右边浮动的影响,也就是不允许右侧有浮动元素;
both-同时清除左右两侧浮动的影响;
none-不清除浮动。
示例代码如下:
<view>box1,box2左浮动box3清除左浮动</view>
<view style="border: 1px solid #f00;padding: 5px">
<view style="float:left; border:1px solid #0f0">box1</view>
<view style="float:left; border:1px solid #0f0">box2</view>
<view style="clear:left; border:1px solid #0f0">box3</view>
</view>

    运行结果如下:

 另外,还可以在父元素外添加一个空元素,实现父元素包裹浮动元素。示例代码如下:

//wxml
<view>box1 box2 box3左浮动在父元素后添加一个空元素</view>
<view style="border: 1px solid #f00;padding:5px"class="clearfloat">
<view style="float: left;border: 1px solid #0f0">box1</view>
<view style="float: left;border: 1px solid #0f0">box2</view>
<view style="float: left;border: 1px solid #0f0">box3</view>
</view>
//wxss
.clearfloat::after{display: block;clear: both;height: 0;content: "";}

  运行结果如下:

2,元素定位

 浮动布局虽然灵活,但无法对元素的位置进行精确的控制。在CSS中,通过position属性可以实现对页面元素的精确定位。基本格式如下

{position:static |relative |absolute|fixed}
 其中,static--默认值,该元素按照标准流进行布局;
relative--相对定位,相对于它在原文档流的位置进行定位,它后面的盒子仍以标准流relative方式对待它;
absolule--绝对定位,相对于其上一个已经定位的父元素进行定位,绝对定位的盒子从标准流中脱离,它对其后的兄弟盒子的定位没有影响;
fixed--固定定位,相对于浏览器窗口进行定位。
对 box1、box2、box3进行元素静态定位,示例代码如下:
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box2</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>
对 box1、box2、box3进行元素相对定位,示例代码如下:
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;position: relative;left: 30px;top: 30px;">box2</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>
 对 box1、box2、box3进行元素绝对定位,示例代码如下:
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;position: absolute;left: 30px;top: 30px;">box2</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>
  对 box1、box2、box3进行元素固定定位,示例代码如下:
<!--box2元素进行固定定位fixed top:30px left:30px-->
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;position: fixed;left: 30px;top: 30px;">box2</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>
   运行结果如下:

通过案例我们发现,绝对定位与固定定位的效果相同,这是因为他们的父元素是page,没有定位。

如果将box1,box2,box3的元素采用相对定位,将box2采用绝对定位,代码如下: 
<view style="position: relative;top: 50px;left: 50px;border: 1px solid#00f">
<view style="border: 1px solid #0f0;width: 100px;height: 100px">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;position: absolute;left: 30px;top: 30px;">box2</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px">box1</view>
</view>
   运行结果如下:

 如果将box1,box2,box3的父元素采用相对定位,将box2采用固定定位,代码如下: 
<view style="position: relative;top: 50px;left: 50px;border: 1px solid#00f">
<view style="border: 1px solid #0f0;width: 100px;height: 100px">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px;position: fixed;left: 30px;top: 30px;">box2</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px">box3</view>
</view>
    运行结果如下:

三、flex布局

flex布局是万维网联盟(World Wide Web Consortium,W3C)在2009 年提出的一种新布局方案,该布局可以简单快速地完成各种可以伸缩的设计,以便很好地支持响应式布局flex是 flexible box 的缩写,意为弹性盒子模型,可以简便、完整、响应式地实现各种页面布局。
flex布局主要由容器和项目组成,采用flex布局的元素称为ex容器(flex container),flex布局的所有直接子元素自动成为容器的成员,称为flex项目(flex item)。
容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做 cross start,结束位置叫做 cross end。
项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。flex 布局模型如图3-12 所示。
设置 display属性可以将一个元素指定为flex布局,设置flex-direction属性可以指定主轴方向。主轴既可以是水平方向,也可以是垂直方向。

flex布局模型

1,容器属性:

fex容器支持的属性有7种,如表所示:

1. display
display用来指定元素是否为flex布局,语法格式为:

.box{display:flex|inline-flex;}

其中,flex--块级flex布局,该元素变为弹性盒子;

inline -flex--行内flex布局,行内容器符合行内元素的特征,同时在容器内又符合dex 布局规范。
设置了 flex 布局之后,子元素的 float、clear 和 vertical-align 属性将失效,
2. flex- direction
flex-direction 用于设置主轴的方向,即项目排列的方向,语法格式为:

. box {flex-direction:row|row -reverse|column|column -reverse;}

其中,row--主轴为水平方向,起点在左端,当元素设置为flex布局时,主轴默认为row;row-reverse--主轴为水平方向,起点在右端;column--主轴为垂直方向,起点在顶端;column-reverse--主轴为垂直方向,起点在底端。如图所示为元素在不同主轴方向下的显示效果:

3. flex - wrap

flex-wrap 用来指定当项目在一根轴线的排列位置不够时,项目是否换行,其语法格式如下:

.box{flex-wrap:nowrap|wrap|wrap-reverse;}

其中,nowrap--不换行,默认值;
wrap--换行,第一行在上方;
wrap-reverse--换行,第一行在下方。当设置换行时,还需要设置align-item属性来配合自动换行,但aign-item 的值不能为“ stretch ”
flex-wrap 不同值的显示效果如图所示:

4. flex -flow
flex-low 是 flex -direclion和flex_wrap的简写形式,默认值为 row nowrap。语法格式如下

.box{flex-flow:<flex-direction>||<flex-wrap>;}

示例代码如下:

.box{flex-flow:row nowrap;}//水平方向不换行
.box{flex-flow:row-reverse wrap;}//水平方向逆方向换行
.box{flex-f1ow:column wrap_reverse;}//垂直方向逆方向换行

 5. justify - content
justify-content 用于定义项目在主轴上的对齐方式。语法格式如下:

.box{justify-content:flex-start|flex-end|center|space-between|space-around;}

其中,justify-content——与主轴方向有关,默认主轴水平对齐,方向从左到右;

flex-slart--左对齐,默认值;
flex-end--右对齐;
center--居中;
space -between--两端对齐,项目之间的间隔都相等:
space-around--每个项目两侧的间隔相等。
如图所示为 justify-content 不同值的显示效果。

6. align -items
align -iems 用于指定项目在交叉轴上的对齐方式,语法格式如下:

.box{align-item:flex-start|flex-end|center|baseline|stretch;}

其中,align -items——与交叉轴方向有关,默认交叉由上到下;

flex-start——交叉轴起点对齐;

flex-end——交叉轴终点对齐;

cenner——行交叉轴中线对齐;

baseline——项目根据它们第一行文字的基线对齐;

stretch——如果项目未设置高度或设置为auto,项目将在交叉轴方向拉伸填充容器,为默认值。

示例代码如下:

<!--pages/flex/flex.wxml-->
<view class="cont1">
<view class="item">1</view>
<view class="item item2">2</view>
<view class="item item3">3</view>
<view class="item item4">4</view>
</view>
/* pages/flex/flex.wxss */
.cont1{
  display: flex;
  flex-direction: row;
  align-items: baseline;
}
.item{
  background-color: #ccc;
  border: 1px solid #f00;
  height: 100px;
  width: 50px;
  margin: 2px;
}
.item2{
height: 80px;
}
.item3{
  display: flex;
  height: 50px;
  align-items: flex-end;
}
.item4{
  height: 120px;
}

 运行结果如下:

如图所示为不同对齐方式:

7, align-content

align-content用来定义项目有多根轴线在交叉轴的对齐方式,如果只有一根轴线,该属性不起作用,语法格式如下:

.box{align-content:flex-start|flex-end|center|space-between|space-around|stretch}

 其中,space-between——与交叉轴两端对齐,轴线之间的间隔平均分布;space-around——每根轴线两侧的间隔都相等,轴线之间的间隔比轴线与边框间隔大一倍。
其余各属性值的含义与align-items属性的含义相同如图所示为align-content 不同值的显示效果:

 

 一、项目属性

容器内的项目支持6个属性,其名称和功能如下:

  1、order属性定义项目的排列顺序,数值越小,排列越靠前。默认值为零。语法格式如下:

.item{order:<number>;}

 示例代码如下:

view class="cont1">
<view class="item">1</view>
<view class="item">2</view>
<view class="item">3</view>
<view class="item">4</view>
</view>
<view class="cont1">
<view class="item" style="order: 1">1</view>
<view class="item" style="order: 3">2</view>
<view class="item" style="order: 2">3</view>
<view class="item">4</view>
</view>

 运行效果如下:

2、flex-grow

flex-grow定义项目的放大比例,默认值为零,既不放大。语法格式如下:

.item{flex-grow:<number>;}

 示例代码如下:

</view>
<view class="cont1">
<view class="item">1</view>
<view class="item">2</view>
<view class="item">3</view>
<view class="item">4</view>
</view>
<view class="cont1">
<view class="item">1</view>
<view class="item" style="flex-grow: 1">2</view>
<view class="item" style="flex-grow: 1">3</view>
<view class="item">4</view>
</view>

 运行效果如下:

3、flex-shrink

flex-shink 用来定义项目的缩小比例,默认值为,如果空间不是。该项目将被缩小语法格式如下:

.item{flex-shrink:<number>;}

 示例代码如下:

<view class="cont1">
<view class="item">1</view>
<view class="item">2</view>
<view class="item">3</view>
<view class="item">4</view>
</view>
<view class="cont1">
<view class="item">1</view>
<view class="item" style="flex-shrink: 2">2</view>
<view class="item" style="flex-shrink: 1">3</view>
<view class="item" style="flex-shrink: 4">4</view>
</view>

运行效果如下: 

4、flex-basis

flex-basis属性用来定义伸缩项目的基准值,剩余的空间将按比例进行缩放,它的默认值为auto(即项目的本来大小)。语法格式如下:

.item{flex -basis: <number >|auto;}

  示例代码如下:

<view class="cont1">
<view class="item">1</view>
<view class="item">2</view>
<view class="item">3</view>
<view class="item">4</view>
</view>
<view class="cont1">
<view class="item">1</view>
<view class="item" style="flex-basis:100px">2</view>
<view class="item" style="flex-basis:200px">3</view>
<view class="item">4</view>
</view>

运行效果如下:  

5、flex

 flex属性是flex-grow、flex-shrink 和flex-basis 的简写,其默认值分别为0、1、auto。语法格式如下:

.item{flex:<flex-grow >|<flex -shrink >|<flex -basis >;}

 示例代码如下:

.item{flex:auto;}//等价于.item{flex:1 1 auto;}
.item{flex:none;}//等价于.item{flex:0 0 auto;}

6、align-self

align-self属性用来指定单独的伸缩项目在交叉轴上的对齐方式。该属性会重写默认的
对齐方式。语法格式如下:

.item{align-self:auto|flex-start|flex-end|center|baseline|stretch;}

在该属性值中,除了auto以外,其余属性值和容器align-items的属性值完全一致auto 表示继承容器align-items的属性,如果没有父元素,则等于stretch(默认值)

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作 第4章 01 上节课复习 02 创建用户相关的文件 03 用户增删该查及组相关操作 04 对文件的权限管理 05 对目录的权限管理 06 权限管理补充 07 属主属组及基于数字的权限管理 第5章 01 上节课复习 02 文件合并与文件归档 03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种情况 06 软连接和硬链接 07 软连接和硬链接补充 第7章 01 ip地址与子网划分 02 ip地址配置 03 虚拟机网络模式 04 三层隔离验证试验 第8章 01 上节课复习 02 软件包介绍 03 rpm软件包管理 04 yum软件包管理 05 源码安装python3.5 06 ssh服务 07 apache服务 08 samba服务 第9章 01 Python开发系列课程概要 02 Python作业要求以及博客 03 编程语言介绍 04 Python种类介绍 05 Python安装以及环境变量的操作 06 Python初识以及变量 07 Python条件语句和基本数据类型 08 Python while循环语句以及练习题 09 练习题讲解 第10章 01 上节内容回顾以及补充 02 上周作业实现 03 Pycharm的安装和使用 04 Python 运算符 05 Python 运算符以及总结 06 Python 基本数据类型介绍 07 Python 整形的魔法 08 Python 字符串的魔法 第11章 01 Python 字符串的魔法 02 Python range的用法以及练习 03 Python 课上练习解释 04 Python 基础知识练习题试题 第12章 01 今日内容介绍以及基础测试题答案讲解 02 Python 列表的魔法 03 Python 元组的魔法 04 Python 字典的魔法 05 Python 错误更正:布尔值可以作为字典的key 06 Python 今日内容整理 第13章 第13章共1课 第14章 01 数据类型和变量总结 02 集合定义和基本操作方法 03 集合关系运算交,差,并集 04 集合的其他内置方法 05 集合补充 06 百分号字符串拼接 07 format字符串格式化 08 数学意义的函数与python中的函数 09 为何要有函数 10 函数返回值 11 可变长参数 第15章 01 上节课复习 02 全局变量与局部变量 03 风湿理论之函数即变量 04 函数递归 05 函数递归补充 第16章 01 上节课回顾 02 函数作用域 03 函数作用域补充 04 匿名函数 05 函数式编程介绍 06 函数式编程尾递归调用优化 07 map函数 08 map函数filter函数 09 reduce函数 10 map reduce filter总结 11 内置函数part1 第17章 01 课前吹牛 02 zip方法 03 max和min高级使用 04 其他内置函数 05 文件操作的其他模式 第18章 01 上节课复习 02 文件处理b模式 03 文件操作的其他方法 04 文件seek方法补充 05 迭代器协议和for循环工作机制 06 迭代器补充 07 三元运算,列表解析,生成器表达式 第19章 01 生成器函数 02 生成器函数的好处 03 母鸡下蛋的传说 04 生成器特性阐释 05 生产者消费者模型 06 第三次作业讲解 第20章 01 上节课回顾 02 装饰器基本理论 03 高阶函数使用 04 函数闭包 05 函数闭包装饰器基本实现 06 函数闭包加上返回值 07 函数闭包加上参数 08 函数闭包补充:解压序列 09 函数闭包为函数加上认证功能 10 函数闭包模拟session 11 函数闭包装饰器运行流程 12 函数闭包带参数装饰器 第21章 01 查询功能 02 修改功能 03 程序的解耦 04 module模块和包的介绍 05 模块的执行以及__name__ 06 关于模块的介绍 07 time时间模块 08 random模块 第22章 01 模块的补充 02 sys修改环境变量 03 BASEDIR的介绍 04 os模块的介绍 05 sys模块的介绍 06 json模块 07 pickle模块 08 shelve模块 09 XML模块 10 re模块简介 11 re模块之元字符 第23章 01 re模块之转义字符 02 re模块之分组 03 re模块之方法 04 re模块总结 05 logging模块 06 re模块补充 07 configparse模块 08 hashlib模块 09 计算器作业以及思路 10 模块导入补充 第24章 01 面向对象设计 02 类相关知识 03 对象相关知识 04 类属性增删改查 05 实例属性的增删改查 06 对象与实例属性 07 对象与实例属性补充 08 面向对象作业 第25章 01 上节课回顾 02 静态属性 03 类方法 04 静态方法 05 小结 06 组合 07 继承 08 接口继承与归一化设计 09 继承顺序之mro线性顺序列表 10 在python2中的继承顺序是什么 11 在子类中调用父类方法 12 super调用父类的方法 13 选择系统作业讲解 第26章 01 学生自主复习 02 分享列表 03 多态 04 封装 05 面向对象概念总结 06 反射 07 反射及动态导入模块 08 类的内置attr属性 09 类内置attr属性补充 10 继承的方式完成包装 11 组合的方式完成授权 第27章 01 os模块复习 02 上节课复习 03 内置函数补充及getattribute 04 getattribue补充 05 item系列 06 str与repr 07 自定制format 08 slots属性 09 doc属性 10 module和class 11 析构方法 12 call方法 13 迭代器协议 14 迭代器协议实现斐波那契数列 16 描述符答疑 17 描述符优先级 18 软件开发规范 19 pycharm干的好事 第28章 01 上节课复习 02 上下文管理协议 04 异常的构成简单了解 05 描述符应用 08 类的装饰器的基本原理 09 类的装饰器增强版 10 类的装饰器的应用 11 自定制property 12 自定制property流程分析 13 自定制property实现延迟计算功能 14 property补充 15 元类介绍 16 自定义元类 17 函数复习 18 文件操作复习 第29章 01 上节课复习 02 什么是异常处理及异常处理的两种方式对比 03 多分支与万能异常 04 异常处理的其他内容 05 什么时候用异常处理 06 什么是socket 07 套接字发展及分类 08 基于tcp协议的套接字编程 09 socket底层工作原理解释 10 tcp三次握手与四次挥手 第30章 01 上节课复习 02 客户端服务端循环收发消息 03 socket收发消息原理剖析 04 服务端循环链接请求来收发消息 05 补充 06 udp套接字 07 recv与recvfrom的区别及基于udp实现ntp服务 08 基于tcp实现远程执行命令 09 基于tcp实现远程执行命令测试结果 10 粘包现象 11 粘包解决方法 第31章 01 上节课复习 02 socketserver实现并发 03 socketserver模块介绍 04 socketserver源码分析tcp版本 05 socketserver源码分析udp版 06 ftp作业要求讲解 07 补充:认证客户端链接合法性 第32章 01 FTP之参数解析与命令分发 02 FTP之逻辑梳理 03 FTP之验证功能 05 FTP之文件上传 06 FTP之断点续传 08 FTP之进度条 09 FTP之cd切换 11 FTP之创建文件夹及MD5校验思路 第33章 01 操作系统历史 02 进程的概念 03 线程的概念 04 线程的调用以及join方法 05 setDaemon方法和继承式调用.baiduyun.downloading 05 setDaemon方法和继承式调用 第34章 01 上节知识回顾 02 并发并行与同步异步的概念 03 GIL的概念 04 同步锁 05 递归锁 06 同步对象event 07 信号量 08 线程队列 09 生产者消费者模型 10 多进程的调用 第35章 01 进程通信 02 进程池 03 协程 04 事件驱动模型 05 IO模型前戏 06 阻塞IO与非阻塞IO 07 select及触发方式 08 select监听多连接 09 select与epoll的实现区别 第36章 01 异步IO 02 selectors模块介绍 03 selectors模块应用 04 作业介绍 第37章 01 selctors实现文件上传与下载 02 html的介绍 03 html文档树的概念 04 meta标签以及一些基本标签 05 img标签和列表标签 06 form表单之input标签 07 通过form向server端发送数据 08 form表单之select标签 09 table标签 第38章 01 css的四种引入方式 02 css的四种基本选择器 03 css的组合选择器 04 css的属性选择器 05 css的伪类 06 css的选择器优先级 07 css的背景属性 第39章 01 css的文本属性与边框属性 02 css的列表属性与display属性 03 css的内外边距 04 css的内外边距补充 05 css的float属性 06 css的清除浮动 07 css的定位 08 css的margin定位 第40章 01 抽屉作业之head区域(导航条) 02 抽屉作业之置顶区域 03 抽屉作业之content部分 05 抽屉作业之页码部分 06 抽屉作业之footer部分 第41章 01 JS的历史以及引入方式 02 JS的基础规范 03 JS的基本数据类型 04 JS的运算符 05 JS的控制语句与循环 06 JS的循环与异常 07 JS的字符串对象 08 JS的数组对象 09 JS的函数对象 第42章 01 JS的函数作用域 02 JS的window对象之定时器 03 JS的history对象和location对象 04 JS的DOM节点 05 JS的DOM节点 第43章 01 上节知识回顾 02 js之onsubmit事件与组织事件外延 03 DOM节点的增删改查与属性设值 04 正反选练习 05 js练习之二级联动 06 jquery以及jquery对象介绍 07 jquery选择器 08 jquery的查找筛选器 09 jquery练习之左侧菜单 第44章 01 jquery属性操作之html,text,val方法 02 jquery循环方法和attr,prop方法 03 jquery模态对话框与clone的应用 04 jqueryCSS操作之offsets,position以及scrolltop 05 jquery事件绑定与事件委托 06 jquery动画效果 07 jquery扩展与插件 08 jquery扩展补充 09 本周作业轮播图以及思路 第45章 轮播图片css部分 轮播图片js部分 第46章 01 数据库与dbms的概念 02 sql规范 03 数据库操作DDL 04 python s3 day46 mysql的数据类型 05 数据表操作 06 表记录之增删改操作 07 表记录查询之查询 第47章 01 多表查询之连接查询 02 级联删除与set null 03 多表查询之连接查询 04 多表查询之复合查询与子查询 05 mysql之索引 第48章 01 python操作数据库pymysql 02 数据库之事务 03 mysql事务之savepoint 第49章 01 http协议之请求协议 02 http协议之响应协议 03 web框架的概念 04 做一个最简答web框架 05 MVC模式和MTV模式 06 django的一个简单应用 07 django静态文件之static 08 django的url控制系统 09 django的urlConf补充 第50章 01 django之视图函数的介绍 02 django视图之redirec 03 django模板之变量 04 django模板之过滤器 05 django模板之控制语句if和for循环 06 django模板之标签tag补充 07 django模板之自定义filter和simple_tag 08 django模板之继承标签extend和添加标签include 第51章 01 数据库表与表之间的一对多多对多的关系 02 Django的ORM的概念 03 ORM对单表的增删改操作 04 ORM查询API 05 模糊查询之万能的双下换线 第52章 01 上节知识回顾 02 ORM多表操作之一对多增加记录 03 ORM多表操作之一对多查询之对象查询 04 ORM多表操作之一对多查询之双下划线查询 05 ORM多表操作之多对多添加记录 06 ORM多表操作之多对多查询 07 ORM多表操作之F查询与Q查询 08 ORM的querySet集合对象的特性 第53章 01 admin介绍 02 alex首秀失败 03 自定义admin样式 04 admin补充 05 COOKIE介绍 06 COOKIE和SESSION配合使用 第54章 01 今日内容概要 02 Django内容回顾 03 Django请求生命周期之Http请求 04 Django请求生命周期之FBV和CBV 05 Django请求生命周期之CBV扩展 06 瞎扯淡 07 Django请求生命周期之响应内容 08 学员管理示例:数据库设计 09 学员管理示例:班级管理 10 学员管理示例:学员管理 第55章 01 Django的ORM基本操作补充之概要 02 Django的ORM基本操作补充之一对多 03 学员管理示例:编辑学生 04 Django的ORM基本操作补充之多对多 05 学员管理示例:为班级分配老师 06 初识Ajax以及简单应用 07 学员管理示例:Ajax删除学生 08 本节作业以及内容补充 第56章 01 上节内容回顾 02 创建Project以及表结构 03 基于BootStrap和FontAwesome制作页面 04 创建学生信息 05 删除学生信息 第57章 01 上节内容回顾 02 上节bug修复 03 编辑学生信息之前端功能 04 编辑学生信息之后台处理 05 以上内容总结 06 Ajax功能之dataType和traditional 第58章 01 今日内容概要 02 Ajax补充之serialize 03 分页功能介绍 04 分页基础知识 05 Django内置分页 06 扩展Django内置分页 07 自定义分页组件 08 DjangoForm组件初识 第59章 01 Form组件之生成HTML标签 02 Form组件之详解字段 03 Form组件之常用标签示例 04 Form组件之动态绑定数据 第60章 Django序列化共6课 第61章 01 上节内容回顾 02 上传文件 03 制作上传按钮 04 Form组件上传文件 05 上传相关内容梳理 06 Model操作知识提问 07 Model操作概述 08 Model字段 09 Model连表字段参数详解 10 Model自定义多对多第三张表 11 强插一道面试题 12 Model连表操作梳理 13 多对多自关联 14 Model操作补充 15 再插两道JavaScript面试题 16 Model操作之select_related以及prefetch_related 17 Model操作知识梳理以及补充 18 JavaScript两道面试题讲解 第62章 01 今日内容概要 02 创建基本项目 03 XMLHttpRequest对象发送请求 04 XMLHttpRequest对象发送POST请求 05 Iframe伪造Ajax请求 06 Iframe伪造回调函数 07 上述内容整理 08 FormData对象以及Ajax文件上传 09 Iframe文件上传 10 Iframe上传文件 11 JSONP实现AJax跨域 12 内容整理以及CORS简单介绍 第63章 01 项目以及学习介绍 02 企业官网示例功能介绍 03 企业官网示例以及数据库表结构 04 企业官网示例作业要求 05 Toando源码基本基本介绍 第64章 01 组合搜索 02 瀑布流 03 瀑布流作业 第65章 01 今日内容概要 02 瀑布流作业讲解 03 保障系统需求分析 04 保障系统数据库设计 05 保障系统目录结构规定 06 阶段任务安排 第66章 01 保障系统主页功能讲解 02 保障系统主页分类和分页的实现 03 阶段作业:保障系统登录注册 第67章 01 保障系统之登录注册功能讲解 02 保障系统之网站验证码 03 保障系统之一个月免登陆 04 任务安排 第68章 01 保障系统之个人知识库主页 02 保障系统之个人知识库内容筛选 03 保障系统之文章最终页 04 保障系统之KindEditor基本使用 05 保障系统之下节预告 06 今日作业以及下节预告 第69章 01 后台管理功能介绍 02 后台管理页面布局 03 今日作业以及下节预告 第70章 01 后台管理之创建报障单 02 后台管理之处理报障单 03 后台管理之画图流程 04 后台管理之Highchart统计保障单 第71章 01 权限管理要求 02 权限管理数据库表设计 03 填充权限数据 04 作业:获取权限以及菜单信息 05 作业思路讲解 06 权限管理之获取用户权限信息 07 权限管理之获取用户菜单信息 08 权限管理之用户权限挂靠到菜单上 09 权限管理之处理菜单等级关系 第72章 01 上节内容概要以及标记应该显示的菜单 02 权限管理之递归生成多级菜单 03 权限管理之标记当前以及激活菜单 04 权限管理之基本使用 05 权限管理之封装权限组件 06 下节预告 第73章 01 CMDB项目介绍 02 CMDB开发背景 03 CMDB开发目的 04 CMDB资产采集方式之agent 05 CMDB资产采集方式之ssh 06 CMDB资产采集方式之saltstack 07 CMDB资产采集方式之puppet 08 CMDB资产采集方式比较 09 CMDB资产采集内容梳理 10 CMDB资产采集功能实现之agent 11 CMDB资产采集功能实现之ssh 12 CMDB资产采集功能实现之saltstack 13 CMDB资产采集插件开发 14 内容回顾之面向对象继承 15 作业:基于配置文件加载插件 第74章 01 CMDB项目上节作业讲解 02 CMDB项目采集资产数据 03 知识拾遗之线程进程池 04 CMDB项目采集资产之日志记录 05 自定义JSON序列化类型 06 本节作业 第75章 01 基于requests模块汇报资产数据 02 基于requests模块汇报API验证 03 CMDB项目示例之API验证流程 04 CMDB项目之数据库表结构 05 CMDB项目之资产汇报并持久化 06 CMDB项目之持久化资产流程 07 本周作业 第76章 01 CMDB项目CURD组件之配置文件构造 02 CMDB项目CURD组件之神奇的单@符号 03 CMDB项目CURD组件之神奇的双@符号 04 CMDB项目CURD组件之自定义td属性 05 下节内容预习 第77章 01 CMDB项目CURD组件之进入编辑模式 02 CMDB项目CURD组件之全选取消反选和编辑模式 03 CMDB项目CURD组件之内容截图 04 CMDB项目CURD组件之进入编辑模式详细 05 CMDB项目CURD组件之属性中应用神奇的单@符号 06 CMDB项目CURD组件之退出编辑模式 07 CMDB项目CURD组件之更新数据 08 CMDB项目CURD组件之基于jQuery扩展封装组件 09 CMDB项目CURD组件之10分钟搞定页面基本操作 10 CMDB项目CURD组件之分页功能 11 CMDB项目CURD组件之搜索功能介绍 12 CMDB项目总结 第78章 01 剩余项目概览 02 CRM项目需求分析 04 CRM项目需求分析及架构设计 05 CRM项目表结构设计 第79章 01 CRM项目实战-前端页面布局 02 CRM项目实战-登录页面开发 04 CRM项目实战-动态菜单设计 05 CRM项目实战-kingadmin开发设计 06 CRM项目实战-kingadmin自动发现及注册功能开发 07 CRM项目实战-kingadmin model obj list页面开发 08 CRM项目实战-kingadmin 根据list_display配置生成数据列表 09 CRM项目实战-kingadmin 多条件过滤功能开发 第80章 01 课前鸡汤 02 分页功能开发 03 分页功能优化 04 排序功能开发 05 分页 排序 筛选组合使用 06 搜索功能开发 第81章 01 CRM项目实战 - 动态modelform的实现 02 CRM项目实战 - 动态modelform 增加自定义样式 03 CRM项目实战 - 实现任意表的增删改查 04 CRM项目实战 - 只读字段的处理 05 CRM项目实战 - filter_horizontal的实现 第82章 01 CRM项目实战 - kingadmin m2m filter_horizontal优化 02 CRM项目实战 - kingadmin 对象删除功能开发 03 CRM项目实战 - kingadmin+admin+action功能开发 04 CRM项目实战 - csrf+token验证原理 第83章 01 CRM项目-kingadmin批量删除 02 CRM项目-学员报名流程开发 03 CRM项目-本次作业需求 第84章 01 SSO介绍 02 用户自定义认证 03 万能通用权限框架设计 04 万能通用权限框架设计-自定义权限钩子实现 第85章 01 堡垒机项目实战-需求讨论 02 堡垒机项目实战-表结构设计 第86章 01 堡垒机项目实战-用户交互程序开发 02 堡垒机项目实战-通过paramiko记录ssh会话记录 03 堡垒机项目实战-把parmaiko代码嵌入用户交互程序 04 堡垒机项目实战-在数据库里记录用户会话数据 第87章 01 堡垒机项目实战-前端模板的选择 02 堡垒机项目实战-web ssh的使用 03 堡垒机项目实战-批量任务的思路 04 堡垒机项目实战-批量任务的前端页面开发 第88章 01 堡垒机实战-批量命令后端开发 02 堡垒机实战-批量命令前端获取执行结果 03 堡垒机实战-批量文件分发 第89章 01 版本管理工具介绍 02 git基本使用 03 github使用 04 git 分支开发流程 05 restful规范介绍 06 restful api设计指南 第90章 01 rabbitmq 消息安全接收 02 rabbitmq 消息持久化 03 rabbitmq 消息订阅发布 04 rabbitmq 消息组播 05 rabbitmq 消息RPC 第91章 01 阶段课程安排介绍 02 爬虫介绍 03 初识爬虫之采集汽车资讯信息 04 requests和beautfulsoup模块基本使用 05 示例:自动登录抽屉新热榜 06 requests模块详细介绍 第92章 01 BeautifulSoup模块详细介绍 02 示例:自动登录知乎 03 示例:自动登录博客园 04 作业之开发Web微信 第93章 01 开发Web微信前戏 02 Web微信流程介绍 03 Web微信之用户扫码 04 Web微信之用户信息初始化 05 Web微信开发总结 第94章 01 Web微信之获取用户初始化信息并展示 02 Web微信之发送微信消息 03 Web微信之获取用户消息 04 Web微信开发总结 第95章 01 多线程实现并发请求 02 多进程实现并发请求 03 异步IO模块的使用 04 自定义异步IO模块前戏 05 自定义异步IO模块开发 06 自定义异步IO模块开发 第96章 01 Scrapy爬虫介绍 02 抽屉示例:初识Scrapy并获取新闻标题 03 抽屉示例:递归获取所有页码 04 抽屉示例:基于pipeline实现标题和URL持久化 第97章 01 Scrapy上节回顾 02 去除重复URL 03 pipeline补充 04 自动登录抽屉并点赞 05 scrapy框架扩展 06 配置文件 第98章 01 Scrapy配置之自动限速以及缓存 02 Scrapy之默认代理以及扩展代理 03 Scrapy之自定义Https证书 04 Scrapy配置之下载中间件 05 Scrapy配置之爬虫中间件 06 Scrapy配置之自定义scrapy命令 07 Scrapy源码流程简述 第99章 01 今日内容概要 02 Scrapy源码剖析前戏之Twisted使用 03 Scrapy源码剖析之自定义Low版框架 04 Scrapy源码剖析之自定义TinyScrapy框架 05 Scrapy源码剖析流程解析 第100章 01 Tornado学习概要 02 Tornado基本操作 03 Tornado自定义Session知识前戏 04 Tornado自定义Session 第101章 01 WebSocket介绍 02 WebSocket握手过程分析 03 基于Python实现WebSocket握手过程 04 位运算补充 05 WebSocket数据解析过程 06 基于Tornado的WebSocket实现聊天室 第102章 01 今日内容复习目标 02 异步非阻塞框架介绍 03 Tornado异步非阻塞功能使用 04 自定义Web框架(同步) 05 自定义Web框架支持同步和异步非阻塞 06 复习计划 第103章 01 缓存数据库介绍 02 redis string操作 03 redis hash 操作 04 redis list操作 05 redis 集合操作 06 redis 其他常用命令 07 redis 发布订阅 08 celery介绍和基本使用 09 celery在项目中使用 10 celery定时任务 11 celery在项目中使用 12 celery 在django中实现定时任务 第104章 就业指导 01 简历制作 02 如何面试 03 最后的鸡汤 04 Nginx+uWSGI+Django部署
有四个文档,分别为: Android界面设计讲课流程.doc; Android界面设计讲课流程 1 第1章 布局方式 3 第2章 对话框 11 第3章 硬件菜单 17 第4章 输入选择组件 19 第5章 图片和按钮 30 第6章 日期和时间控件 34 第7章 进度条和滑动条 37 第8章 GridView和Gallery控件 43 第9章 AutoCompleteTextView提示输入建议 48 第10章 RatingBar评分组件 50 Android进阶讲课流程2.doc; 1. 广播接收者 3 2. 服务Service 7 3. AsyncTask异步处理任务 15 4. 音频播放 20 8. 视频播放 26 9. 使用摄像头拍照 32 10. 视频录制 39 11. 国际化 43 12. 样式和主题 46 13. 编码实现软件界面 49 14. 标签页(选项卡) 51 15. 用HTML实现网页界面 57 16. android客户端调用web service 63 Android开发讲课流程.doc; Android简介 3 第一章 搭建Android开发环境 4 第二章 Android工程目录介绍 9 第三章 电话拨号器和发送短信小程序 12 第四章 日志输出和单元测试 17 第五章 数据的存储与访问 19 第六章 SD卡的存取和XML读取 24 第七章 SharedPreferences进行数据存储 38 第八章 SQLITE数据库 42 第九章 ListView控件的使用 50 第十章 Activity互相调用 62 第十一章 意图Intent的使用 70 第十二章 Activity的生命周期 72 第十三章 互联网开发 77 第十四章 JSON数据的解析 90 JAVA基础知识点总结.doc 第1章 Java程序设计概述 第2章 Java语言的开发环境 第3章 Java程序的基本结构 第4章 对象和类 第5章 继承和多态 第6章 泛型程序设计 第7章 接口和内部类 第8章 异常处理 第9章 反射,代理,标注 第10章 java常用类 第11章 IO流 第13章 线程
界面查看: https://blog.csdn.net/weixin_40228600/article/details/121188844 摘 要 V 关键字:html;css;jQuery;网站美化;交互设计。 VI 1.1 选题背景及意义 III 1.2 研究内容和拟解决的问题 III (1) 排版 III (2) 单页布局的设计 III (3) 交互性 III 1.3 本章小结 IV 第2章 前端开发工具及相关技术 IV 1.4 前端开发环境 IV 1.5 前端开发工具 IV 1.6 前端开发相关技术 V 1.6.1 Java script 简介 V 1.6.2 Java script 基本特点 V 1.6.3 CSS简介 VI 1.6.4 JQuery VI (1) 提供了强大的功能函数 VII (2) 解决浏览器兼容性问题 VII (3) 实现丰富的UI VII (4) 纠正错误的脚本知识 VII 1.6.5 HTML VIII 1.7 本章小结 IX 第2章 前端布局分析与设计 IX 1.8 前端总体开发流程及设计 IX 1.8.1 分层开发 X 1.8.2 代码编写 X 1.8.3 内部测试与后续优化 X 1.8.4 CSS元素 XI 1.9 网站结构布局及设计 XII 1.9.1 网站首页结构 XII 1.9.2 主题鲜明,富有特色 XIV 1.9.3 商品版式编排布局合理性 XIV 1.9.4 登录页排布局合理性 XV 1.9.5 注册页排布局合理性 XVI 1.10 网站前台页面设计 XVII 1.10.1 首页 XVII 1.11 本章小结 XVII 第2章 主要功能的实现 XVII 2.1 界面设计 XVII 2.2 具体设计文档 XVIII 2.3 可视化设计 XVIII 2.4 具体实现技术 XVIII 2.4.1 CSS在"数字媒体技术系网站"中的应用实例 XVIII 2.4.2 应用JavaScript设计网页 XIX 2.5 本章小结 XXI 第3章 可行性分析 XXI 3.1.1技术可行性 XXI 3.1.2经济可行性 XXII 第4章 需求分析 XXII 4.1 设计目标 XXII 第3章 总结 XXIII 3.1 总结 XXIII 参考文献 24

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值