一、位置position【定位属性:static,relative,absolute,fixed,inherit,-ms-page,initial,unset】
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”,根据属性是否被继承。
【定义position不为static的元素时,可以使用位置】top,right,bottom,left(取值:auto/直接数值/百分比)
示例:
<view class='imgbox'>
<view class='imgline' wx:for="{{imgs}}" wx:for-item="i">
<image bindtap='tapImg' src='{{i.path}}' data-id='{{index}}'></image>
<icon type='cancel' bindtap='tapCancel' color='red' size='20' class='cancelI' data-id='{{index}}'></icon>
<text class='item_txt' data-id='{{index}}' bindtap='tapAddLabel'>{{i.label}}</text>
</view>
</view>
wxss代码:
.imgbox {
width: 100%;
height: 100%;
column-count:;//显示为3列
column-gap: 5rpx;//列与列之间间隙大小
} .imgline {
width: 100%;
position: relative;//相对定位,子元素的absolute才能生效
} .cancelI {
position: absolute;//父元素的position位置固定,这个绝对定位才会生效
right: 2px;//位于父元素的右边 2px
left: auto;
top: 10px;
} .item_txt {
position: absolute;
bottom: 0px;
left: 0px;
width: 100%;
height: 25px;
font-size: 13px;
background-color: #999;
color: white;
text-align: center; //这两行保证文本在text中水平垂直居中
line-height: 25px; //也可以使用:display:flex;flex-direction:column;align-items:center;justify-content:center;[文字在text中水平,垂直居中]
} image {
width: 100%;
height: 250rpx;
margin-top: 5px;
}
展示效果:
转: https://blog.csdn.net/yingtian648/article/details/80047949