Element el-row el-col 布局组件详解

简介: 本文目录1. 背景2. 分栏布局3. 分栏间隔4. 分栏偏移4. 对齐方式5. 响应式布局6. 小结

1. 背景

element的布局方式与bootstrap原理是一样的,将网页划分成若干行,然后每行等分为若干列,基于这样的方式进行布局,形象的成为栅栏布局。


区别是element可将每行划分为24个分栏,而bootstrap是划分为12个分栏,从使用角度,还是24个分栏更加精细。


2. 分栏布局

首先每行使用<el-row>标签标识,然后每行内的列使用<el-col>标识,至于每列整行的宽度比例,则使用:span属性进行设置。


如下代码,即为将1行等分为2列,为了便于区分列,我们为列添加了不同的样式,另外注意<el-divider></el-divider>是分割线,此处用于区分不同的示例。

<template>
  <div>
    <span>每行24分栏布局</span>
    <el-row>
      <el-col :span="12" class="lightgreen-box">示例1</el-col>
      <el-col :span="12" class="orange-box">示例1</el-col>
    </el-row>
    <el-divider></el-divider>
  </div>
</template>
<style scoped>
  .lightgreen-box {
    background-color: lightgreen;
    height: 24px;
  }
  .orange-box {
    background-color: orange;
    height: 24px;
  }
</style>

image.png

3. 分栏间隔

有时候想为不同分栏之间设定一定的间隔,可以使用<el-row>标签的:gutter属性,注意默认间隔为0。

此时需要注意的是,下面的写法,间隔是不生效的。

  <span>分栏间隔 无效</span>
    <el-row :gutter="50">
      <el-col :span="8" class="lightgreen-box">示例2</el-col>
      <el-col :span="8" class="orange-box">示例2</el-col>
      <el-col :span="8" class="lightgreen-box">示例2</el-col>
    </el-row>
    <el-divider></el-divider>
需要在分栏里面新增元素,才能实现分栏间隔,代码修改如下则间隔生效。
 <span>分栏间隔 有效</span>
    <el-row :gutter="24">
      <el-col :span="8">
        <div class="lightgreen-box">示例3</div>
      </el-col>
      <el-col :span="8">
        <div class="orange-box">示例3</div>
      </el-col>
      <el-col :span="8">
        <div class="lightgreen-box">示例3</div>
      </el-col>
    </el-row>
    <el-divider></el-divider>

image.png

4. 分栏偏移

有时候想让某个分栏不从左边显示,而是直接显示到中间或者右侧,例如右侧导航栏,我们希望它处于右侧且占据页面1/3的宽度。此时可以借助offset属性来实现,表示偏移量。


此时,想占据1/3宽度,则:span应为8,偏移量应为24-8=16,所以代码如下:


  <span>分栏偏移</span>

   <el-row>

     <el-col :span="8" :offset="16">

       <div class="lightgreen-box">示例4</div>

     </el-col>

   </el-row>

   <el-divider></el-divider>


效果如下:

image.png

4. 对齐方式

如果想让整个行居左、居中、居右对齐,则可以直接设置<el-row>的对齐方式。


此时需要先设置type="flex"来启用对齐方式,然后通过justify属性来设置具体的对齐方式,例如下面的例子实现了居中对齐。


 <span>对齐方式</span>

   <el-row type="flex" justify="center">

     <el-col :span="12">

       <div class="lightgreen-box">示例5</div>

     </el-col>

   </el-row>

   <el-divider></el-divider>

image.png

5. 响应式布局

element和bootstrap的响应式布局原理相同,都是通过为列设置不同分辨率下的占用宽度比例来实现的。


例如我们想实现在比较大的分辨率(电脑),每分栏占据屏幕宽度的1/4,而在比较小宽度(手机),每分栏占据屏幕全部宽度。这样就能保证在手机上也能完整显示内容,则可以使用如下代码:


  <span>响应式布局</span>

   <el-row>

     <el-col :lg="6" :xs="24" class="lightgreen-box">示例6</el-col>

     <el-col :lg="6" :xs="24" class="orange-box">示例6</el-col>

     <el-col :lg="6" :xs="24" class="lightgreen-box">示例6</el-col>

     <el-col :lg="6" :xs="24" class="orange-box">示例6</el-col>

   </el-row>


在电脑上效果如下:

image.png

在手机上效果如下:

image.png

注意具体的尺寸属性为:


属性 使用说明

xs 宽度<768px

sm >=768px

md >=992px

lg >=1200px

xl >=1920px

6. 小结

element的布局跟bootstrap原理是一样的,使用起来也比较方便,具体的参数其实不需要都记住,只要知道用法,使用时去官网查询即可。

相关文章
|
前端开发
Element Form表单布局(一行多列)
Element Form表单布局(一行多列)
1920 0
|
JavaScript
Element el-form 表单详解
本文目录 1. 前言 2. 基本用法 3. 行内表单 4. 标签对齐方式 5. 调整尺寸 6. 小结
3268 0
Element el-form 表单详解
【echarts报错】line series not exists,should be same with series name or data name
【echarts报错】line series not exists,should be same with series name or data name
1039 0
|
JavaScript 小程序 前端开发
[Vue warn]: Error in callback for watcher “fileList“: “TypeError: Cannot create property ‘uid‘ on st
[Vue warn]: Error in callback for watcher “fileList“: “TypeError: Cannot create property ‘uid‘ on st
694 0
|
前端开发 NoSQL 关系型数据库
如何开发CRM系统中的产品管理板块(附架构图+流程图+代码参考)
本文深入解析了CRM系统中产品管理模块的设计与实现,涵盖系统架构、业务流程、核心代码及落地建议,助力企业构建高效的产品管理体系。
|
JavaScript 前端开发 UED
Vue 项目中如何自定义实用的进度条组件
本文介绍了如何使用Vue.js创建一个灵活多样的自定义进度条组件。该组件可接受进度段数据数组作为输入,动态渲染进度段,支持动画效果和内容展示。当进度超出总长时,超出部分将以红色填充。文章详细描述了组件的设计目标、实现步骤(包括props定义、宽度计算、模板渲染、动画处理及超出部分的显示),并提供了使用示例。通过此组件,开发者可根据项目需求灵活展示进度情况,优化用户体验。资源地址:[https://pan.quark.cn/s/35324205c62b](https://pan.quark.cn/s/35324205c62b)。
737 0
|
数据安全/隐私保护
Element UI 密码输入框--可切换显示隐藏,自定义图标
Element UI 密码输入框--可切换显示隐藏,自定义图标
1165 0
Echarts visualMap属性记录
这篇文章是关于ECharts中visualMap属性的详细记录。文中首先定义了visualMap的作用,即进行数据到视觉元素的映射。接着,通过一系列详细的配置参数,如类型、显示控制、数据范围、样式和格式化工具等,介绍了如何配置连续型和分段型visualMap组件。最后,作者通过具体代码示例,说明了如何将这些配置应用于实际的ECharts图表中,以实现数据的视觉编码效果。
2150 0
Echarts visualMap属性记录
|
前端开发
el-form-item label中的字体样式设置格式
这篇文章介绍了如何在Element UI的`el-form-item`组件中自定义`label`标签的样式,通过使用`slot`属性和内联CSS来改变字体颜色和加粗显示。
el-form-item label中的字体样式设置格式
简单粗暴实现el-input只允许输入数字
简单粗暴实现el-input只允许输入数字
简单粗暴实现el-input只允许输入数字