欢迎光临,了解微信小程序开发,就上易用通!

wxss学习系列《一》定位(position),布局(Layout)

发布:2018-01-24 11:36浏览: 来源:网络 作者:tianshu

一:定位(position)

2017的微信公开课pro如期进行了,小程序将于2017年1月9日对个人开放,公司项目的demo版做了个大概,过程中花的时间最多的还是页面布局,所以后面将花一段时间将css的属性在小程序里过一篇,虽然小程序里面对于css支持,但没有说明支持到什么地步。今天就先来说说定位。

 

一.定位:position属性允许你对元素进行定位。

 

二.定位机制:有三种:普通流,浮动流,绝对定位。

 

三.定位属性值:static,relative,absolute,fixed,inherit,-ms-page,initial,unset(后面3个属性是小程序中有的,没看懂是什么样子)

wxss学习系列《一》定位(position),布局(Layout)(图1)

1.static:元素框正常生成,块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或者多个行框,置于其父元素中。

2.relative:元素框偏移某个距离。元素扔保持其未定位前的形状,它原来所占的空间扔保留。

3.absolute:元素框从文档流中删除,并相对于其包含块定位,包含快可能是文档中的另一个元素或者初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

4.fixed:元素框的表现类似于将position 设置为absolute,不过其包含块是视窗本身。

5.inherit:继承父元素的position位置。----任何版本的IE都不支持属性值:inherit

6.-ms-page:位置取决于absolute的模式。

7.initial:将指定的值表示为属性的初始值。

8.unset:设置了“inherit”和“initial”,根据属性是否被继承。

 

四.top,right,bottom,left:定位元素,定义position不为static的元素。

1.取值:auto/直接数值/百分比

 

五.z-index 定义position不为static的元素。设置元素在当前上下文中的层叠级别。数值越大显示在上面,数值越小,则显示在下面。

 

六.clip:剪裁绝对元素定位。定义一个剪裁矩形,内容多出来的东西将根据overflow的值来处理。注意点:必须将position设置为absolute或者fixed的时候此属性才会生效

1.取值。shape/auto/inherit。

2.clip这个属性即将废弃,推荐使用 clip-path

wxss学习系列《一》定位(position),布局(Layout)(图2)
wxss学习系列《一》定位(position),布局(Layout)(图3)

 

二:布局(Layout)

说到布局,脑子里第一反应出来的就是LinearLayout,RelativeLayout等等,不过现在既然是小程序,那当然得换换思路了,来看看css中有哪些布局方式。

一:布局有以下几种:display,float,clear,visibility,overflow,overflow-x,overflow-y。

1.display:设置对象是否显示。

2.float:指出对象是否及如何浮动。

3.clear:指出了不允许有浮动对象的边。

4.visibility:是否隐藏,与display隐藏不同,visibility隐藏的时候保留元素占据的位置。

5.overflow:设置对象处理溢出内容的方式。

6.overflow-x:设置在横向溢出内容的方式。

7.overflow-y:设置在纵向溢出内容的方式。

 

二:display:根据“float”和“position” 决定盒子或者箱子的类型生成一个元素。

wxss学习系列《一》定位(position),布局(Layout)(图4)

wxss学习系列《一》定位(position),布局(Layout)(图5)
wxss学习系列《一》定位(position),布局(Layout)(图6)

以上是小程序中display的取值,常用的如下:

1.block:指定对象为块元素。

2.flex:将对象作为弹性伸缩盒显示。(小程序推荐使用伸缩盒子)

3.inline:指定对象为内联元素。

4.inline-block:指定对象为内联块元素。

5.inline-flex:将对象作为内联块级弹性伸缩盒显示。

6.inline-table:指定对象作为内联元素级的表格。

7.list-item:指定对象为列表项目。

8.none:隐藏对象。不占物理位置。

9.table:指定对象最为块元素级的表格。

 

三:float:定义了元素在那个方向浮动,浮动元素会生成一个块级框,而不论它本身是何种元素。

1.取值:left,right,none,inherit。


wxss学习系列《一》定位(position),布局(Layout)(图7)

2.float 在绝对定位中不起作用。大多数企业网站布局都是以float来定位。

 

四.clear:该属性指出不允许有浮动对象的边。

1.取值:left,right,both,none.

wxss学习系列《一》定位(position),布局(Layout)(图8)

2.none:允许两边可以浮动。 left:不允许左边有浮动对象。 right:不允许右边有浮动对像。both:两边都不允许浮动。

 

五.visibility:是否显示对象;

1.取值:visible,hidden,collapse。


wxss学习系列《一》定位(position),布局(Layout)(图9)

2.visible:设置可见。hidden:设置隐藏(隐藏了也占位置)。collapse:隐藏表格的行或者列。

 

六.overflow:处理溢出内容的方式。

1.取值:visible,hidden,scroll,auto。

wxss学习系列《一》定位(position),布局(Layout)(图10)

2.visible:对溢出内容不做处理,内容可能会超出容器。

   hidden:隐藏溢出容器的内容且不会出现滚动条。

   scroll:隐藏溢出容器的内容,溢出的内容将以卷动滚动条的方式呈现。

  auto:当内容没有溢出容器的时候不出现滚动条,当内容溢出容器的时候出现滚动条。按需出现。

 

七:overflow-x:横向处理溢出内容的方式;

1.取值:visible,hidden,scroll,auto。

wxss学习系列《一》定位(position),布局(Layout)(图11)

2.同overflow。


八:overflow-y:纵向处理溢出内容的方式;

1.取值:visible,hidden,scroll,auto。

wxss学习系列《一》定位(position),布局(Layout)(图12)
2.同overflow。




免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。