Element-UI 使用el-row 分欄布局的教程
使用多個(gè)卡片顯示的時(shí)候,并且要求當(dāng)列數(shù)到一定數(shù)目的時(shí)候,要自動(dòng)換行,el-container 布局就滿足了需求了,就要用到el-row 布局做分欄處理,

代碼如下
<template>
<el-row :gutter="20" class="el-row" type="flex" >
<el-col :span="8" v-for = "(item,index) in apps" :key="item.id" class="el-col" >
<el-card class="el-card" :key="index" onclick="">
<div slot="header" class="clearfix">
<span>{{item.appname}}</span>
</div>
<div >
<div class="text item">
<div class="item_tag" >
<span >用戶標(biāo)簽:</span>
</div>
<div class="item_desr">
<span > {{item.tag}}</span>
</div>
</div>
<div class="text item">
<div class="item_tag">
<span>搜索標(biāo)簽:</span>
</div>
<div class="item_desr">
{{item.seatag}}
</div>
</div>
<div class="text item">
<div class="item_tag">
<span>短信簽名:</span>
</div>
<div class="item_desr">
<span>
{{item.wxname}}
</span>
</div>
</div>
<div class="text item">
<div class="item_tag">
<span>客服QQ:</span>
</div>
<div class="item_desr">
{{item.qq}}
</div>
</div>
<div class="text item">
<div class="item_tag">
<span>商務(wù)合作:</span>
</div>
<div class="item_desr">
{{item.buscoo}}
</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="8">
<el-card class="box-card" style="min-height: 200px;" align="middle" onclick="">
<div class="el-card__body mid">
<el-button icon="el-icon-circle-plus" circle></el-button>
<el-button style="margin-left: 0;color: #505458" type="text">添加APP</el-button>
</div>
</el-card>
</el-col>
</el-row>
</template>
<script>
css
<style type="text/css">
.all{
margin-top: -30px;
word-break: break-all;
height: 100%;
}
.mid{
margin-top: 25%;
height: 50%;
}
.mid_item{
justify-content: center;
align-items: center;
}
.item {
margin-bottom: 10px;
}
.item_tag{
float:left;
text-align:left;
}
.item_desr{
margin-left: 40%;
min-height: 30px;
text-align:left;
}
.text {
width: 100%;
font-size: 12px;
font-family: "Microsoft YaHei";
color: #909399;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
}
.clearfix:after {
clear: both
}
.el-card {
min-width: 100%;
height: 100%;
margin-right: 20px;
/*transition: all .5s;*/
}
.el-card:hover{
margin-top: -5px;
}
.el-row {
margin-bottom: 20px;
display: flex;
flex-wrap: wrap
}
.el-col {
border-radius: 4px;
align-items: stretch;
margin-bottom: 40px;
}
</style>
補(bǔ)充知識(shí):vue element框架中el-row控件里按列排列失效問(wèn)題的解決
最近我在使用vue的ui框架element-ui,可能是自己經(jīng)驗(yàn)不足,遇到了很奇怪的問(wèn)題,在這里特意把解決的步驟記錄一下,希望能對(duì)大家有所幫助。
首先我使用的分欄間隔的布局方式,參照官網(wǎng)上的例子:
<el-row :gutter="20"> <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> </el-row>
<style>
.el-row {
margin-bottom: 20px;
&:last-child {
margin-bottom: 0;
}
}
.el-col {
border-radius: 4px;
}
.bg-purple-dark {
background: #99a9bf;
}
.bg-purple {
background: #d3dce6;
}
.bg-purple-light {
background: #e5e9f2;
}
.grid-content {
border-radius: 4px;
min-height: 36px;
}
.row-bg {
padding: 10px 0;
background-color: #f9fafc;
}
</style>
應(yīng)該效果如下圖:

但是我在參考例子后,代碼如下:
App.vue
<template> <div id="app"> <el-row :gutter="20"> <el-col :span="6"><div class="grid-content bg-purple">1</div></el-col> <el-col :span="6"><div class="grid-content bg-purple">1</div></el-col> <el-col :span="6"><div class="grid-content bg-purple">1</div></el-col> <el-col :span="6"><div class="grid-content bg-purple">1</div></el-col> </el-row> </div> </template>
<style>
.el-row {
margin-bottom: 20px;
}
.el-col {
border-radius: 14px;
}
.bg-purple {
background: #d3dce6;
}
.grid-content {
border-radius: 14px;
min-height: 36px;
}
</style>
main.js
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'//A Vue.js 2.0 UI Toolkit for Web
Vue.use(ElementUI);
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
可是效果如下:

奇怪了,為何布局變成了縱向,明明row中的布局應(yīng)該是按列排列的。經(jīng)過(guò)排查發(fā)現(xiàn)自己少了這一行:import ‘element-theme-chalk';
也就是代碼應(yīng)該如下:
main.js
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'//A Vue.js 2.0 UI Toolkit for Web
import 'element-theme-chalk';
Vue.use(ElementUI);
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
這個(gè)時(shí)候效果如下,應(yīng)該是我們希望看到的,至少列生效了:

我看了一下文檔,發(fā)現(xiàn)并沒(méi)有特別指出這一行的配置,可能是我遺漏了或者其他的原因?qū)е碌?,也有可能是官網(wǎng)沒(méi)有標(biāo)識(shí)出這一點(diǎn)??傊由狭诉@一行配置解決了我的問(wèn)題。在這里做一個(gè)筆記,也希望能夠幫助到遇到類似的問(wèn)題的同學(xué)。
以上這篇Element-UI 使用el-row 分欄布局的教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue?2?和?Vue?3?中?toRefs函數(shù)的不用用法
Vue?是一款流行的JavaScript?框架,用于構(gòu)建用戶界面,在Vue2和?Vue3中,都存在一個(gè)名為toRefs的函數(shù),但其行為在這兩個(gè)版本中有所不同,這篇文章主要介紹了Vue2和Vue3中toRefs的區(qū)別,需要的朋友可以參考下2023-08-08
vue created鉤子函數(shù)與mounted鉤子函數(shù)的用法區(qū)別
這篇文章主要介紹了vue created鉤子函數(shù)與mounted鉤子函數(shù)的用法區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
Vue3通過(guò)ref操作Dom元素及hooks的使用方法
這篇文章主要介紹了Vue3通過(guò)ref操作Dom元素及hooks的使用方法,需要的朋友可以參考下2023-01-01
解決vue的component標(biāo)簽渲染問(wèn)題
這篇文章主要介紹了解決vue的component標(biāo)簽渲染問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
vue中三種插槽(默認(rèn)插槽/具名插槽/作用域插槽)的區(qū)別詳解
默認(rèn)插槽,具名插槽,作用域插槽是vue中常用的三個(gè)插槽,這篇文章主要為大家介紹了這三種插槽的使用與區(qū)別,感興趣的小伙伴可以了解一下2023-08-08
vue 數(shù)據(jù)雙向綁定的實(shí)現(xiàn)方法
這篇文章主要介紹了vue 數(shù)據(jù)雙向綁定的實(shí)現(xiàn)方法,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-03-03

