vue 一个简单的项目 之一 首页 step4

下面要来写,图标区域页面布局。

就是下图,被框起来的部分。

    

那么,首先去码云上,新建一个分支 index-icons。

然后,本地把新分支拿下来。

git pull

git checkout index-icons (切换到该分支)

ok.

开启项目服务 npm run start

在项目目录 src/pages/home/components 下,新建一个 Icons.vue .给它一个初始的内容。

    

然后,我们在Home.vue 中引入并使用这个组件。

    

这个区域的宽高比来大致为 2:1 ,因此与上面一步一样,需要做一个占位,如下。

    

下面写小图标的样式。

    

但是上面的代码会有问题,如下,父元素,没有把子元素包裹住。

    

    

然后,添加文字 和 文字的样式。

<template>
  <div class="icons">
    <div class="icon">
      <div class="icon-img">
        <img class="icon-img-content" src="http://img1.qunarzz.com/piao/fusion/1803/20/831d62d2e1c7be02.png">
      </div>
      <p class="icon-desc">红门</p>
    </div>
  </div>
</template>

<script>
export default {
  name: "HomeIcons"
}
</script>

<style lang="stylus" scoped>
@import '~styles/variables.styl'
  .icons
    overflow: hidden
    width: 100%
    height: 0
    padding-bottom: 50%
    .icon
      position: relative
      overflow: hidden
      float: left
      width: 25%
      height: 0
      padding-bottom: 25%
      .icon-img
        position: absolute
        top: 0
        left: 0
        right: 0
        bottom: .44rem
        box-sizing: border-box
        padding: .1rem
        .icon-img-content
          height: 100%
          display: block
          margin: 0 auto
      .icon-desc
        position: absolute
        left: 0
        right: 0
        bottom: 0
        height: .44rem
        line-height: .44rem
        color: $darkTextColor
        text-align: center
</style>

ok, 下面就是效果。

    

### el-step 组件第一个节点未高亮显示的原因及解决方案 el-step 是 Element UI 框架中的一个组件,用于实现步骤条功能。当用户遇到 el-step 组件的第一个节点未高亮显示的问题时,通常与以下几个因素有关: #### 1. 当前步骤索引设置不正确 el-steps 和 el-step 的核心属性之一是 `active` 属性,它决定了当前激活的步骤索引。如果 `active` 属性值设置错误,可能导致第一个节点未被正确高亮。 ```vue <el-steps :active="activeIndex"> <el-step title="步骤一"></el-step> <el-step title="步骤二"></el-step> <el-step title="步骤三"></el-step> </el-steps> ``` 确保在 Vue 数据中正确设置了 `activeIndex`,例如: ```javascript data() { return { activeIndex: 0 // 表示第一个步骤被激活 }; } ``` 如果未正确设置 `activeIndex` 或其初始值大于 0,则会导致第一个节点未高亮[^4]。 #### 2. 样式覆盖问题 有时候,项目的全局样式或第三方库可能对 el-step 的默认样式进行了覆盖,导致即使步骤激活,颜色也未正常显示。可以通过检查以下 CSS 属性来确认是否存在样式冲突: - `.el-step__title.is-process`:表示当前激活步骤的标题样式。 - `.el-step__title.is-finish`:表示已完成步骤的标题样式。 - `.el-step__title.is-wait`:表示未完成步骤的标题样式。 如果发现样式被覆盖,可以尝试通过自定义样式修复: ```css .el-step__title.is-process { color: #409EFF !important; /* 设置激活步骤的颜色 */ } ``` #### 3. 数据绑定问题 如果步骤的状态依赖于动态数据(如后端返回的数据),需要确保数据格式正确且及时更新到视图。例如,某些情况下可能需要手动触发 `this.$forceUpdate()` 来强制刷新视图[^5]。 #### 4. 配置属性缺失 el-step 提供了多个配置属性,如 `status` 和 `process-status`,用于更精细地控制每个步骤的状态。如果未正确配置这些属性,可能会导致状态显示异常。例如: ```vue <el-step title="步骤一" :status="stepStatus"></el-step> ``` 确保 `stepStatus` 的值为正确的状态值(如 `'wait'`, `'process'`, `'finish'`, `'error'`)。 --- ### 示例代码 以下是一个完整的示例,展示如何正确配置 el-step 并解决第一个节点未高亮的问题: ```vue <template> <el-steps :active="activeIndex" finish-status="success"> <el-step title="步骤一" description="描述信息"></el-step> <el-step title="步骤二" description="描述信息"></el-step> <el-step title="步骤三" description="描述信息"></el-step> </el-steps> </template> <script> export default { data() { return { activeIndex: 0 // 确保初始化为 0 }; } }; </script> <style> /* 确保样式未被覆盖 */ .el-step__title.is-process { color: #409EFF !important; } </style> ``` --- ### 总结 第一个节点未高亮显示的主要原因包括 `active` 属性设置错误、样式覆盖、数据绑定问题以及配置属性缺失。通过检查上述几个方面并进行相应调整,可以有效解决问题。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值