目录

ie盒子模型

Flex弹性布局

三大特性:

块元素和内联元素的转换

background-image背景图片

尺寸单位rpx

定位

练习:色子的六面


ie盒子模型

盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版。其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型。他们对盒子模型的解释各不相同

从上图可以看到 ie 盒子模型的范围也包括 margin、border、padding、content,和标准 w3c 盒子模型不同的是:ie 盒子模型的 content 部分包含了 border 和 pading。

简单来说,IE盒子模型就是把border的边框长度计算在宽和高中。

box-sizing: border-box;

Flex弹性布局

flex布局属性,用六个字概括便是简单、方便、快速。

  flex( flexible box:弹性布局盒模型),是2009年w3c提出的一种可以简洁、快速弹性布局的属性。主要思想是给予容器控制内部元素高度和宽度的能力

使用flex布局的容器(flex container),它内部的元素自动成为flex项目(flex item)。容器拥有两根隐形的轴,水平的主轴(main axis),和竖直的交叉轴。主轴开始的位置,即主轴与右边框的交点,称为main start;主轴结束的位置称为main end;交叉轴开始的位置称为cross start;交叉轴结束的位置称为cross end。item按主轴或交叉轴排列,item在主轴方向上占据的宽度称为main size,在交叉轴方向上占据的宽度称为cross size。

以下6个属性设置在容器上。

  • flex-direction:主轴方向,row:从左到右,column:从上到下
  • flex-wrap:换行,当前项目的总宽度超过了容器的宽度时,会换行。nowrap:不换行,wrap:换行
  • flex-flow
  • justify-content:主轴对齐  flex-start  flex-end  center space-around  space-between
  • align-items:交叉轴的单行(单根轴线对齐) flex-start  flex-end  center
  • align-content:交叉轴的多行(多根轴线对齐)flex-start  flex-end  center space-around  space-between

比如:

/* 控制主轴方向:默认row 从左到右 *//* flex-direction:row; *//* column 从上到下 */flex-direction: column;/* 当子项目的宽度超出容器的宽度时,会压缩子项目的宽度,不换行。*//* flex-wrap: nowrap; *//* 当子项目的宽度超出容器的宽度时会换行 */flex-wrap: wrap;/* 消除换行的间距 */align-content: flex-start;/* 控制主轴的对齐 *//* justify-content: flex-start;  对齐左边 *//* justify-content: center; *//* justify-content: flex-end; 对齐右边 *//* justify-content: space-between; 各个元素间左右产生间隔,最边上的元素仅靠边 *//* justify-content: space-around; 各个元素间左右产生间隔*/
/* 交叉轴 */align-items: center;

以下6个属性设置在项目上。

  • order:给项目排序,order的值越大排在越后面,所有的默认为1
  • flex-grow:平分剩余空间,前提是有剩余空间
  • flex-shrink:flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。为0时不压缩
  • flex-basis:如果写了这个值,宽度就没有效果,以flex-basis设置的宽度为准
  • flex:flex是上面三个的简写,
  • align-self:单个元素在交叉轴的位置

border-radius:圆角度

box-shadow:盒子阴影

三大特性:

层叠性:

样式一样的后面的会覆盖前面的,不一样的样式会保留下来(优先级相同)

类选择器的优先级比元素选择器高

优先级:

  • 元素:0,0,0,1
  • 类和伪类nth-child:0,0,1,0
  • id:0,1,0,0
  • style:1,0,0,0

优先级可以相加

继承性:类似color,font,line等属性可以继承

  • 优先级:0,0,0,0

块元素和内联元素的转换

块级元素:

独占一行,可以设置宽高

text元素:

不能独占一行,和其他行内元素显示在一行,内联元素可以设置水平方向内边距和垂直方向内边距padding-left\right\top\bottom

不可以设置其内外边距的垂直方向,可以设置水平方向

将内联元素转换为块元素:display:block;

将块元素转换为内联元素:display:inline;

将一个元素设置为行内块元素,既可以设置宽高,又不独占一行:display:inline-block

background-image背景图片

background-image:url(图片路径)

背景缩写属性可以在一个声明中设置所有的背景属性。

可以设置的属性分别是:background-color, background-position, background-size, background-repeat, background-origin, background-clip, background-attachment,和background-image.

如果上述值缺少一个,这不要紧,例如background:#FF0000 URL(smiley.gif);是允许的。

例子:将图片作为送恋人的背景

.a1 view:nth-child(1){background-image: url(https://img02.hua.com/m/home/img/m_home_use_love.png);background-size: 100% 100%;
}

尺寸单位rpx

rpx 是微信小程序解决自适应屏幕尺寸的尺寸单位。微信小程序规定屏幕的宽度为750rpx。

无论是在iPhone6上面还是其他机型上面都是750rpx的屏幕宽度,拿iPhone6来讲,屏幕宽度为375px,把它分为750rpx后, 1rpx = 0.5px。

微信小程序同时也支持rem尺寸单位, rem 规定屏幕的宽度为20rem, 所以 1rem = (750/20)rpx = 37.5 rpx

定位

定位偏移量:top/left/right/bottom

定位模式:绝对定位、相对定位、固定定位

相对定位:保留原来的位置,不脱离文档流,相对于自身来定位的

view:nth-child(2){background-color: blue;/* 相对定位 */position: relative;top: 10px;left: 20px;right: 0px;
}

绝对定位:不保留原来的位置,脱离文档流,如果父元素或者祖先元素没有定位的话,根据最左上上角定位。此外要根据最近定位的祖先元素来定位。

view:nth-child(2){background-color: blue;/* 相对定位 */position: absolute;top: 10px;left: 20px;right: 0px;
}

固定定位:不占据位置

position:fixed

定位元素比一般元素的层级高,后面的定位元素会覆盖前面的定位元素。

设置图像的 z-index:

img{position:absolute;left:0px;top:0px;z-index:-1;}

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

注释:元素可拥有负的 z-index 属性值。

注释:Z-index 仅能在定位元素上奏效(例如 position:absolute;)!

练习:色子的六面

WXML代码:

<view class='a'><!-- 第一个色子 --><view><view class='a1'></view></view><!-- 第二个色子 --><view><view class='a1'></view><view class='a1'></view></view><!-- 第s三个色子 --><view><view class='a1'></view><view class='a1'></view><view class='a1'></view></view>
</view><view class='b'>
<!-- 第四个色子 --><view class='s4'><view class='row'><view class='a1'></view><view class='a1'></view></view><view class='row'><view class='a1'></view><view class='a1'></view></view></view><!-- 第五个色子 --><view class='s4 s5'><view class='row'><view class='a1'></view><view class='a1'></view></view><view class='row'><view class='a1'></view></view><view class='row'><view class='a1'></view><view class='a1'></view></view></view><!-- 第六个色子 --><view class='s4'><view class='row'><view class='a1'></view><view class='a1'></view><view class='a1'></view></view><view class='row'><view class='a1'></view><view class='a1'></view><view class='a1'></view></view></view>
</view>

WXSS代码:

.a{display: flex;height:60px;justify-content: space-between;
}
.a>view{margin-top: 5px;width: 15%;height:56px;background-color: #E7E7E7;border-radius: 7px;/* box-shadow写阴影的 第一个是水平方向的阴影 第二个是垂直方向的阴影 第三个值是模糊程度在前面加上inset就会变成内阴影*/box-shadow: 2px 0px 4px #D7D7D7,-2px 0px 4px #D7D7D7,0px 2px 4px #D7D7D7,0px -2px 4px #D7D7D7;padding: 2px;
}
.a1{width: 15px;height: 15px;border-radius: 50%;background-color: black;
}
/*  第1个色子 */
.a view:nth-child(1){display: flex;justify-content: center;align-items: center;
}
/*  第2个色子 */
.a view:nth-child(2){display: flex;justify-content: space-between;
}
.a view:nth-child(2) view:nth-child(2){align-self: flex-end;
}
/*  第3个色子 */
.a view:nth-child(3){display: flex;justify-content: space-between;align-items: center;
}
.a view:nth-child(3) view:nth-child(1){align-self: flex-start;
}
.a view:nth-child(3) view:nth-child(3){align-self: flex-end;
}
.b{display: flex;justify-content: space-between;
}
/*  第4个色子,第5个色子,第6个色子 */
.s4{margin-top: 20px;width: 15%;height:56px;background-color: #E7E7E7;border-radius: 10px;box-shadow: 2px 0px 4px #D7D7D7,-2px 0px 4px #D7D7D7,0px 2px 4px #D7D7D7,0px -2px 4px #D7D7D7;padding: 2px;display: flex;justify-content: space-between;
}
.row{display: flex;flex-direction: column;justify-content: space-between;
}
/*  第5个色子的中间点 */
.s5 view:nth-child(2){display: flex;justify-content: center;align-items: center;
}

运行效果:

一起学习,一起进步 -.- ,如有错误,可以发评论

微信小程序开发(三)——IE盒子,Flex弹性布局,色子六面相关推荐

  1. 微信小程序开发教程:项目四组件布局 课后习题

    <微信小程序开发教程>主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一.单选题 二.多选题 三.判断题 四.填空题 五.简答题 1.请简单地介绍微信小程序flex布局的使用. 2.如何 ...

  2. 自学微信小程序开发第四天-研究弹性盒子(FlexBox)的伸缩布局,微信小程序的CSS使用实例

    @TOC 组件都了解的差不多了,下面就是页面整体布局设计了.在HTML中,使用的是DIV + CSS的布局方式,也可以用在小程序里.不过因为移动端的分辨率不统一,使得布局的自适应十分重要.所以研究一下 ...

  3. 入门微信小程序开发(三)数据绑定的几种用法

    一.数据绑定 与书写HTML页面一样,小程序页面也只能通过多写多练提升.在构建完页面后就出现了一个问题,我们该如何获取组件元素让数据与之关联呢? 在网页开发中,我们同样使用JS操作DOM,包括数据渲染 ...

  4. 微信小程序开发(一) 微信登录流程

    文/YXJ 地址:http://blog.csdn.net/sk719887916/article/details/53761107 最近在研究微信小程序开发,非常有意思的一个东西.花了一点时间写了一 ...

  5. 微信小程序开发实现宫格布局

    微信小程序开发实现宫格布局 问题背景 客户端和小程序等日常开发和学习过程中,宫格布局是一种很场景的场景,可以清晰的展现分类等效果.本文将介绍微信小程序开发中如何实现宫格布局效果. 问题分析 先上效果图 ...

  6. 微信小程序开发的三种模式

    摘要:截止到2018年6月底,正式上线发布的微信小程序已超过100万个.而越来越多的公司也已经在做微信小程序开发,许多人会觉得"微信小程序开发是开发者们的专利".答案是否定的,今天 ...

  7. 微信小程序开发系列教程三:微信小程序的调试方法

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...

  8. 微信小程序开发(三)入门之创建打卡活动

    相关文章 微信小程序开发(一)微信开发者工具以及小程序框架介绍 微信小程序开发(二)开发之日历打卡小程序发现页 微信小程序开发(四)入门之打卡功能开发 前言 上篇介绍了日历打卡小程序发现页视图相关开发 ...

  9. 微信小程序开发之——flex布局

    打开微信小程序开发工具,新建Hello word项目,删除掉无用的代码. flex-direction flex-direction属性表示布局的方向 有两个值: row | column 默认属性是 ...

  10. 原生微信小程序开发-黑马优购(一)

    接口文档地址: 轮播图--ShowDoc 视频地址: 黑马程序员微信小程序开发前端教程_零基础玩转微信小程序_哔哩哔哩_bilibili 后面也许可以通过快速搭建mock来获取数据(这个工作肯定要会) ...

最新文章

  1. c# 说说开发通用通信库,尤其是分布式服务的通信
  2. 2015年度以「色」取胜的八款APP,你猜对了吗?
  3. 大数据分布式工作流任务调度系统DolphinScheduler v1.3.4
  4. python字符串转化为数字信号_用python实现简单的数字信号软件滤波处理
  5. background相关属性
  6. Sentry的安装搭建与使用
  7. UCBCS188 AI学习笔记(1)uninformed search (无启发函数搜索)
  8. cad2020打印样式放在哪个文件夹_CAD批量打印、DPF合成(建议收藏)
  9. 腾讯云与玉符科技达成战略合作 共建SaaS生态统一身份认证体系
  10. 客户端如何修改服务器时间设置在哪里看,客户端同步服务器时间设置在哪里
  11. 微信小程序的设计以及demo
  12. KP700 comfort 精致面板与西门子1200CPU进行时钟同步
  13. Excel按数字大小排序
  14. python 时间控制的几种方式
  15. DIY主机:华硕B450m+AMD2600x
  16. Java IO流学习总结三十一:File
  17. 回溯法解决n皇后问题
  18. 基于PHP使用rabbitmq实现消息队列
  19. 第九章:致我们终将逝去的青春(深度优先搜索问题)
  20. 物理量子计算机论文,冷槽离子量子计算机中的温度效应-理论物理专业毕业论文.docx...

热门文章

  1. Hi3518EV300芯片linux系统配置USB Camera功能
  2. php微信网页不缓存,微信浏览器取消缓存的方法
  3. 机器学习(九)基于SVM的上证指数涨跌预测
  4. cocos creator 优化之相机渲染 drawcall优化
  5. 夜神模拟器抓取数据包
  6. 07蚂蚁-高并发解决方案——1.Hystrix服务降级,服务隔离,服务熔断,服务限流,CDN
  7. 网络课程学习视频的快进播放和去除鼠标移动视频暂停的问题
  8. SQLExceptioncom.mysql.jdbc.SQLError in createSQLException Incorrect string value: '\xF0\x9F\x99\x8F'
  9. 凡吸纳鲁宾逊微积分者,必须遵守“知识共享”授权许可
  10. Banana Pi BPI-P2 zero 物联网开发板,采用全志H2+芯片设计,支持PoE网线供电功能