Element-UI 使用心得之el-card

el-card 是Element-UI  内置的卡片组件,使用起来很方便,但是对Vuejs和html 不是精通的话,根据自己的要求布局,会出现自己的小困惑,必须添加垂直居中,按照CSS 布局设置,总是 不起作用,与其费力搜寻办法,不如自己简单白痴的去设置一下

1.鼠标放上去有一个动画效果:

  .el-card {
    min-width: 380px;
    margin-right: 20px;
    transition: all .5s;
  }
  .el-card:hover{
    margin-top: -5px;
  }

2.第三个卡片中的按钮,做到水平垂直效果  :继承原来的布局属性,加上自己的布局设置

      <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>
  .mid{
    margin-top: 25%;
    height: 50%;
  }

 

3.当显示多个卡片时,一直水平排列 ,不能够自动换行,这时候 只能在外层使用 Layout  布局中的分栏布局,会根据设置的列数自动布局

 

<think>嗯,用户的问题是关于如何让element-uiel-card组件在el-col包裹时实现自适应高度布局。首先,我需要回忆一下element-ui的布局组件,比如el-row和el-col,它们通常使用Flex布局来实现响应式设计。用户提到el-cardel-col中高度不自适应,可能需要调整父容器的高度设置。 根据引用[1],设置.el-card的height为100%可以让卡片高度填满父容器,但前提是父容器本身有明确的高度。因此,可能需要检查el-col的父级元素是否设置了高度。例如,如果外层容器使用vh单位,或者父级el-row有固定高度,那么el-card的height:100%才能生效。 引用[2]提到el-calendar的高度调整问题,用户通过设置父容器的高度来控制子组件的高度。这可能同样适用于el-card,即需要确保el-col所在的父级(比如el-row)有确定的高度,比如使用min-height或height属性。另外,Flex布局的特性是子元素默认拉伸填满容器,所以可能需要为el-row添加flex属性,并设置align-items: stretch来让el-col自动填充高度。 此外,引用[3]中的表单组件封装涉及到样式调整,可能需要对父容器进行样式设置。因此,可能需要为包裹el-cardel-col添加高度相关的样式,比如height:100%或者使用Flex布局的弹性增长属性flex-grow。 总结可能的解决方案:首先确保父级容器(如el-row)有确定的高度,比如使用viewport高度(vh)或者固定值;其次,为el-col设置height:100%或使用Flex属性;最后,为el-card本身设置height:100%以继承父级高度。此外,可能需要处理内边距或边框的影响,使用box-sizing: border-box来包含padding和border在高度计算中。 需要验证这些步骤是否有效,比如创建一个外层容器设置height:100vh,然后el-row使用flex布局,el-col设置height:100%,el-card同样height:100%。同时检查是否有其他CSS样式冲突,比如默认的margin或padding影响布局。可能还需要使用开发者工具检查元素的实际高度,确认各个层级的高度是否正确继承。</think>要让$element-ui$的$el-card$在$el-col$中实现自适应高度布局,需要分步设置各级容器的高度继承关系,以下是具体解决方案: ### 一、设置外层容器高度 1. 为最外层容器设置高度基准(如使用视口单位) ```css .app-container { height: 100vh; /* 使用视口高度作为基准 */ } ``` 2. 在$el-row$启用Flex布局 ```html <el-row class="full-height-row"> <el-col :span="8"> <el-card>...</el-card> </el-col> </el-row> ``` ### 二、配置高度继承链 ```css /* 关键样式配置 */ .full-height-row { height: 100%; /* 继承外层容器高度 */ display: flex; /* 启用Flex布局 */ flex-wrap: wrap; } .el-col { height: 100%; /* 继承父级高度 */ display: flex; /* 启用Flex容器特性 */ } .el-card { flex: 1; /* 自动填充剩余空间 */ min-width: 100%; box-sizing: border-box; /* 包含padding和border */ } ``` ### 三、处理特殊场景 1. **多列等高分步**:使用`el-row`的`type="flex"`属性 ```html <el-row type="flex" class="full-height-row"> <el-col :span="6"> <el-card>...</el-card> <!-- 等高的第一列 --> </el-col> <el-col :span="18"> <el-card>...</el-card> <!-- 等高的第二列 --> </el-col> </el-row> ``` 2. **动态内容适配**:添加滚动条 ```css .el-card__body { overflow-y: auto; /* 内容溢出时显示滚动条 */ height: calc(100% - 60px); /* 留出header空间 */ } ``` [^1]: 引用[1]说明设置子元素高度100%需要父容器高度支持 [^2]: 引用[2]证实组件高度需通过父容器控制 [^3]: 引用[3]展示组件封装时的样式配置方法
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值