小程序: 三栏布局的五种实现方式及优缺点

假设高度已知,请写出三栏布局,左栏、右栏宽度100rpx,中间宽度自适应。 间隔10rpx

浮动布局
wxml:
<view class='content2'>
  <view class='left2'>left</view>
  <view class='right2'>right</view>
  <view class='center2'>浮动 布局解决方案</view>
</view>

wxss:
.content2 .left2, .right2{
  width: 130rpx;
  height: 200rpx; 
}
.content2 .left2{
  float: left;
}
.content2 .right2{
  float: right;
}
.content2 .center2 {
  height: 200rpx;
  margin: 0 140rpx;
}

浮动布局的优点就是比较简单,兼容性也比较好。
缺点是浮动元素是脱离文档流,要做清除浮动,否则可能会出现高度塌陷等问题。

flex box布局
wxml:
<view class='content1'>
  <view class='left1'>left</view>
  <view class='center1'>flexBox 布局解决方案</view>
  <view class='right1'>right</view>
</view>

wxss:
.content1 {
  display: flex;
}
.content1 .left1, .right1 {
  width: 100rpx;
  height: 200rpx;
}
.content1 .center1{
  flex: 1;
  margin: 0 10rpx;
}
绝对定位布局
wxml:
<view class='content3'>
  <view class='left3'>left</view>
  <view class='center3'>绝对定位布局解决方案</view>
  <view class='right3'>right</view>
</view>

wxss:
.content3 {
  width: 100%;
  position: absolute;
}
.content3 .left3, .right3 {
  width: 130rpx;
  height: 200rpx;
  position: absolute;
}
.content3 .left3 {
  left: 0;
}
.content3 .right3 {
  right: 0;
}
.content3 .center3 {
  left: 140rpx;
  right: 140rpx;
  position: absolute;
  height: 200rpx; 
}

绝对定位布局优点: 很快捷,设置很方便.
但是脱离文档流的, 可能会造成重叠元素

表格布局
wxml:
<view class='content4'>
  <view class='left4'>left</view>
  <view class='center4'>表格布局解决方案</view>
  <view class='right4'>right</view>
</view>

wxss:
.content4 {
  width: 100%;
  height: 200rpx;  
  display: table;
}
.content4 .left4, .right4 {
  width: 130rpx;
  background: red;
  display: table-cell;
}

.content4 .center4 {
  display: table-cell;
  background: #5BBC10;
}

在flex布局不兼容的时候,可以尝试表格布局。

网格布局
wxml:
<view class='content5'>
  <view class='left5'>left</view>
  <view class='center5'>网格布局解决方案</view>
  <view class='right5'>right</view>
</view>

wxss:
.content5 {
  width: 100%;
  background: white;
  margin: 20rpx 0 20rpx;
  text-align: center;

  display: grid;
  grid-template-rows: 200rpx;
  grid-template-columns: 130rpx auto 130rpx;
}
.content5 .left5, .right5 {
  background: red;
}
.content5 .center5 {
  background: #5BBC10;
  margin: 0 10rpx;
}
image.png

CSS基础(float属性与清除浮动)
三栏布局的5种解决方案及优缺点

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 10,154评论 5 15
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 12,534评论 3 30
  • 前言 温馨提示:本文较长,图片较多,本来是想写一篇 CSS 布局方式的,但是奈何 CSS 布局方式种类太多并且实现...
    sunshine小小倩阅读 8,353评论 0 59
  • .
    983d0e1bdb9e阅读 1,679评论 0 0

友情链接更多精彩内容