用绝对定位的办法就不说了,这个是确实可行的。
奇淫巧计
<view class="popHead">
<view class="title_out">
<view class="title">
壁纸信息
</view>
</view>
<view class="close" @click="clickScoreClose">
<uni-icons type="closeempty" size="18" color="#999"></uni-icons>
</view>
</view>
.popHead {
display: flex;
flex-wrap: wrap;
flex-direction: row-reverse;
.title_out {
width: 100%;
height: 0;
.title {
color: $text-font-color-2;
font-size: 26rpx;
text-align: center;
}
}
.close {
padding: 0 6rpx;
}
}
利用一个盒子将另一个盒子从同行挤到换行的位置。将第一个盒子的高度设置为0,实现两个盒子中的元素显示在同一层。再将两个元素分别居中和居右,即可实现。
巧妙的将同级别的元素排布变成了不同级别元素的排布,避免了一些布局上可能会有的冲突。
还有一种写一个空 div 以期望用 flex布局 实现的方法,经实践发现这种方法会因为 basic 不同造成居中和居右不标准的情况,所以这里就不展开了。