第三章总结

1.盒子模型

盒子模型结构

盒子模型就是我们在页面设计中经常用到的一种思维模型。在css中,一个独立的盒子模型由内容(content)、内边距(padding)、外边距(margin)、边框(border)构成

2.块级元数与行内元素

块级元素默认占一行高度,一行内通常只有一个块级元素,添加新的块级元素时,会自动换行,块级元素一般作为盒子出现。

使用<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: 80px;">块级元素3</view>
<view style="border:1px solid #ccc;">
<view style="height: 60px;">块级元素4</view></view>
2.2行内元素

不必从新的一行开始,在界面显示不全会自动出现在下一行,不能设置长、宽、高。

<text>组件默认为行内元素,代码:

<view style="padding: 20px;">
<text style="border: 1px solid #0f0;">行内快元数文本1</text>
<text style="border: 1px solid #00f;margin: 10px;padding: 8px">行内快元数文本2</text>
</view>
<view style="border:1px solid #f00;display: inline;">显示不全可换行</view>
2.3行内块元素

当元素的display属性被设置为inline-block时,元素被设置成行内块元素,能设置长、宽、高。

<view >元数显示方式的<view style="border:1px solid #f00;display: inline-block;padding: 10px;width: 200px;margin:10px;">块级元素,行内元素,行内块元素
</view>三种类型
 </view>

效果图:

3.浮动与定位

设置了浮动属性的元素会脱离标准文档流的控制,移动到其父元素中指定位置的过程。在CSS中,通过float属性定义浮动,值分别有默认值(none)、左浮动(left)、右浮动(right)。

代码:

 <view>box1,box2,box3 没浮动</view>
 <view style="border: 1px solid #0f0;padding: 5px;">
 <view style="border: 1px solid #00f;">box1</view>
 <view style="border: 1px solid #fc0;">box2</view>
 <view style="border: 1px solid #f00;">box3</view>
 </view>
 <view>box1 左浮动</view>
 <view style="border: 1px solid #0f0;padding: 5px;">
 <view style="border: 1px solid #00f;float: left;">box1</view>
 <view style="border: 1px solid #fc0">box2</view>
 <view style="border: 1px solid #f00">box3</view>
 </view>
 <view>box1,box2 左浮动</view>
 <view style="border: 1px solid #0f0;padding: 5px;">
 <view style="border: 1px solid #00f;float: left;">box1</view>
 <view style="border: 1px solid #fc0;float: left;">box2</view>
 <view style="border: 1px solid #f00">box3</view>
 </view>
 <view>box1,box2,box3 左浮动</view>
 <view style="border: 1px solid #0f0;padding: 5px;">
 <view style="border: 1px solid #00f;float: left;">box1</view>
 <view style="border: 1px solid #fc0;float: left;">box2</view>
 <view style="border: 1px solid #f00;float: left;">box3</view>
 </view>

效果图:

clear属性用来清除浮动元素对其它元素的影响。值分别是默认值(none)、清除左浮动(left)、清除右浮动(right)、清除左右两侧浮动(both)。

代码:

<view>box1,box2 左浮动box3清除左浮动</view>
 <view style="border: 1px solid #f00;padding: 5px;">
 <view style="border: 1px solid #00f;float: left;">box1</view>
 <view style="border: 1px solid #fc0;float: left;">box2</view>
 <view style="border: 1px solid #0f0;clear: left;">box3</view>
 </view>

效果图

3.2元数定位

在CSS中通过position属性可以实现对页面元素的精确定位。其值有默认值(static)、相对定位(relative)、绝对定位(absolute)、固定定位(fixed)。

无定位代码:

 <view>box1,box2,box3未定位</view>
 <view style="border: 1px solid #00f;width: 100px;height: 100px;">box1</view>
 <view style="border: 1px solid #fc0;width: 100px;height: 100px;">box2</view>
 <view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>

相对定位(relative)代码:

 <view>box1,box2,box3相对定位</view>
 <view style="border: 1px solid #00f;width: 100px;height: 100px;">box1</view>
 <view style="border: 1px solid #fc0;width: 100px;height: 100px; position:relative;left:30px;top:30px">box2</view>
 <view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>

绝对定位(absolute)代码:

 <view>box1,box2,box3绝对定位</view>
 <view style="border: 1px solid #00f;width: 100px;height: 100px;">box1</view>
 <view style="border: 1px solid #fc0;width: 100px;height: 100px ;position:absolute;left:30px;top:30px">box2</view>
 <view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>

固定定位(fixed)代码:

 <view>box1,box2,box3固定定位</view>
 <view style="border: 1px solid #00f;width: 100px;height: 100px;">box1</view>
 <view style="border: 1px solid #fc0;width: 100px;height: 100px; position:fixed;left:30px;top:30px">box2</view>
 <view style="border: 1px solid #0f0;width: 100px;height: 100px;">box3</view>

4.flex属性

可以简便,完整,响应式的实现各种页面布局。

4.1容器属性

flex容器支持的属性有7个。

flex容器支持的属性

display:设置了flex布局之后子元素的float,clear,和vertical-align属性会失效。
flex-direction:row,水平方向左端起;row-revers,水平方向右端起;column,垂直方向顶端起;column-revers,垂直方向低端起。

flex-direction示例

3.flex-wrap:当项目在一根轴线的排列位置不够时,项目是否换行。nowrap默认值;warp换行正序排列;warp-reverse换行反向。

flex-wrap示例

4.flex-flow:前两个属性的简写形式。

5.justify-content:与主轴方向有关,默认主轴水平对齐,方向从左到右。flex-start左对齐;flex-end右对齐;center居中;space-between项目之间的间隔相等;space-around项目两侧的间隔相等

 justify-content示例

6.align-items:flex-start交叉轴起点对齐;flex-end终点对齐;center中线对齐;baseline根据它们的第一行文字的中线对齐;stretch如果未设置高度,项目将在交叉轴方向拉伸填充容器。

7.align-content:当换行后出现多根轴线,可定义轴线在交叉轴的对齐方式

(a)flex-start;(b)center;(c)flex-end

4.2项目属性

容器内项目属性

1.order:定义项目的排列顺序,数值越小排列越靠前。

代码:

//wxml
 <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>
 
 
//wxss
.cont1{
display: flex;
}
.item{
  width: 100px;
  height: 100px;
  border: 1px solid #f66;
}

2.flex-grow:定义项目的放大比例,默认值0,即不变大。

代码:

//wxml
 <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>
 
 
//wxss
.cont1{
display: flex;
margin-bottom: 10px;
}
.item{
  width: 50px;
  height: 50px;
  border: 1px solid #f66;
}

3.flex-shrink:定义项目的缩小比例,默认值1。

代码:

 <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: 1;">2</view>
  <view class="item" style="flex-shrink: 2;">3</view>
  <view class="item">4</view>
 </view>

4.flex-basis:属性用来定义伸缩项目的基准值,剩余空间将按比例进行缩放。

代码:

 <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: 20px;">2</view>
  <view class="item" style="flex-basis: 200px;">3</view>
  <view class="item">4</view>
 </view>

5.flex:是前面2,3,4的简写,其默认值分别是0,1,auto。

6.align-self:用来指定单独的伸缩项目在交叉轴上的对齐方式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值