第三章总结

一.盒子模型

1.盒子模型是页面设计中常用的思维模型:由内容(content)、内边距(padding)、边框(border)、和外边距(margin)组成。

2.细化为上、下、左、右四个部分。

二.块级元素与行内块元素

1.块级元素、块元素、行内块元素显示方式由display属性控制。

2.块级元素:块级元素占一行,可自定义长、宽、高,会自动换行,可容纳块级元素和行内块素。

<!--每一个块级元素占一行-->
<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:200px">块级元素3</view>
<!--块级元素的高度随内容决定,内容为块级元素-->
<view style="border: 1px solid #ccc;">
<view style="height: 60px;">块级元素4</view>
</view>
<!--块级元素的高度随内容决定,内容为文本元素,块级元素的宽度为100px-->
<view style="border: 1px solid #f00;width: 100px; background-color: #ccc"></view>

3.行内元素:不能设置宽高并由内容决定,不能放置块级元素,行内元素和其它元素显示在同行。

<!--每一个块级元素占一行-->
<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:200px">块级元素3</view>
<!--块级元素的高度随内容决定,内容为块级元素-->
<view style="border: 1px solid #ccc;">
<view style="height: 60px;">块级元素4</view>
</view>
<!--块级元素的高度随内容决定,内容为文本元素,块级元素的宽度为100px-->
<view style="border: 1px solid #f00;width: 100px; background-color: #ccc"></view>
<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>

<!--每一个块级元素占一行-->
<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:200px">块级元素3</view>
<!--块级元素的高度随内容决定,内容为块级元素-->
<view style="border: 1px solid #ccc;">
<view style="height: 60px;">块级元素4</view>
</view>
<!--块级元素的高度随内容决定,内容为文本元素,块级元素的宽度为100px-->
<view style="border: 1px solid #f00;width: 100px; background-color: #ccc"></view>
<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>
<view>
元素的显示方式<view style="display: inline-block;border: 1px solid #f00;margin: 10px;padding: 10px;width:200px;">块级元素、行内元素、行内块元素</view>三种类型。
</view>

三.浮动与定位

1.元素浮动:通过float属性定义left左浮动、right右浮动、none不浮动。

2.清除浮动通过clear:left清除左浮动;clear:right清除右浮动;clear:both清除左右两边浮动;clear: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>
<view>box1 box2 box3 左浮动 在父元素后面添加一个空元素</view>
<view style="border:1px solid #f00;padding: 5px" class="clear-float">
<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>
<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>

3.元素定位:通过position属性实现对页面元素的精准定位用:{position:static |relative |absolute |fixed}。

<!--三个元素均为定位-->
<view style="border: 1px solid #0f0;width: 100px;height: 100px">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px">box1</view>
<view style="border: 1px solid #0f0;width: 100px;height: 100px">box1</view>

四.flex布局:
由容器和项目组成,采用flex布局元素为容器。
1.容器属性:a.display:指定元素是否为flex布局,语法为.box{display:flex|inline-flex;}

b.flex-direction:用于设置项目排列方向:语法为.box{flex-direction:row|row-reverse|column-reverse;};当元素设为flex布局,主轴默认为row;

row-reverse---主轴在右段;

column--主轴为垂直方向,起点在顶端;

column -reverse--主轴为垂直方向,起点在底端。

3. flex-wrap
flex-wrap用来指定当项目在一根轴线的排列位置不够时,项目是否换行,其语法格式如
.box{flex-wrap:nowrap |wrap lwrap -reverse;}

nowrap--不换行,默认值;
wrap--换行,第一行在上方;

wrap-reverse-换行,第一行在下方。

4. flex-flow
fex-fow是fex-direction 和fex-wrap 的简写形式,默认值为 row nowrap。语法格式如下.box{ flex-flow:<flex-direction>ll<flex-wrap >;}

5. justify -content
justify-content用于定义项目在主轴上的对齐方式。语法格式如下:
.box{ justify-content:flex -start |flex -end lcenter lspace -betweenIspace-around;}

其中,justify-content--与主轴方向有关,默认主轴水平对齐,方向从左到右;
fex-start--左对齐,默认值;
fex-end--右对齐;
center--居中;
space-between--两端对齐,项目之间的间隔都相等;

space-around--每个项目两侧的间隔相等。

6. align -items
align-items用于指定项目在交叉轴上的对齐方式,语法格式如下:
..box{ align -items:flex -start lflex -end lcenter lbaseline lstretch;}
其中,align-items--与交叉轴方向有关,默认交叉由上到下;
fex-start--交叉轴起点对齐;
fex-end--交叉轴终点对齐;
center--交叉轴中线对齐;
baseline--项目根据它们第一行文字的基线对齐;
stretch--如果项目未设置高度或设置为auto,项目将在交叉轴方向拉伸填充容器,此
为默认值。

.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;
}
.itm3{
display: flex;
height: 50px;
align-items: flex-end;
}
.item4{
height: 120px;
}

7. align -content
align-content 用来定义项目有多根轴线(出现换行后)在交叉轴上的对齐方式,如果只有一根轴线,该属性不起作用。语法格式如下:
.box{ align-content:flex -start |flex -end | center lspace -betweenspace -around lstretch}
其中,space-between--与交叉轴两端对齐,轴线之间的间隔平均分布;space-around--每根轴线两侧的间隔都相等,轴线之间的间隔比轴线与边框间隔大一倍。
其余各属性值的含义与 align-items 属性的含义相同。

五.项目属性

1.order属性定义项目的排列顺序,数字越小,排名越靠前,默认值为0.语法格式:

.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:2">2</view>
<view class="item"style="order:3">3</view>
<view class="item ">4</view>
</view>

2. flex-grow
fex-grow定义项目的放大比例,默认值为0,即不放大。语法格式如下.item{flex-grow:<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-grow:1">2</view>
<view class="item"style="flex-grow:2">3</view>
<view class="item">4</view>
</view>

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

5. flex
fex属性是fex-grow、fex-shrink和fex-basis 的简写,其默认值分别为0、1、auto。语法格式如下:
item{flex:<flex-grow>|<flex-shrink>|<flex -basis >;}

6. align -self
align-ser属性用来指定单独的伸缩项目在交叉轴上的对齐方式。该属性会重写默认的对齐方式。语法格式如下:
.item {align -self:auto lflex-start lflex -end lcenter lbaselinestretch;}
在该属性值中,除了auto以外,其余属性值和容器align-items的属性值完全一致auto 表示继承容器 align-items的属性,如果没有父元素,则等于stretch(默认值)。

  • 47
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值