display:none到display:block失效问题及解决办法

简介: display:none到display:block失效问题及解决办法

在项目开发的时候,遇到了这样的需求:鼠标移入后显示按钮,鼠标移出后按钮消失,通过对问题的研究,笔者使用display:none和display:block进行转换,但却出现了失效的问题


整体思路是在要显示的内容外层套个div,div内的内容为display:none,当鼠标移入时,即div:hover时,display:block显示内容


但当笔者第一次运用这种方法的时候,却发现行不通,错误代码如下:


  .title {
    display: flex;
    align-items: center;
    flex: auto;
    }
  .showicon {
    display: none;
    .iconlist {
      margin-left: 50px;
      }
    }
  .showicon:hover {
    display: block;
    }

上述代码犯了一个很简单也很容易错的逻辑误区,就是用display:none的元素去display:block,好比你在一个房间中,把唯一的油灯拿走了,却还想在房间里开灯


解决办法是用父元素去引用hover,代码如下:

  .ta-company {
    flex: auto;
    display: flex;
    align-items: center;
    height: 28px;
    .title {
      display: flex;
      align-items: center;
      flex: auto;
    }
    .showicon {
      display: none;
      .iconlist {
        margin-left: 50px;
      }
    }
    &:hover .showicon {
      display: block;
    }
  }

通过父元素,即代码中类为.ta-company的元素,去&:hover对应的元素,达到解决目的

相关文章
|
14天前
|
前端开发
使用display:inline-block会产生什么问题?解决方法?
【10月更文挑战第27天】使用`display: inline-block`时可能会出现空白间隙和垂直对齐等问题,但通过上述相应的解决方法,可以有效地克服这些问题,实现更精确、更美观的页面布局效果。
|
14天前
|
Web App开发 移动开发 前端开发
display: inline-block 可以在不同的浏览器中正常工作吗?
【10月更文挑战第27天】`display: inline-block`在现代浏览器中能够正常工作,但在旧版本浏览器中可能会存在兼容性问题。在实际的网页开发中,需要根据目标用户群体所使用的浏览器情况,合理地选择解决兼容性问题的方法,以确保页面在各种浏览器环境下都能够呈现出一致的布局效果。
|
14天前
|
开发者
解决 display: inline-block 产生的空白间隙问题
【10月更文挑战第27天】在实际应用中,可以根据具体的布局需求、代码结构和兼容性要求等因素,选择合适的方法来消除空白间隙,以实现更精确、更美观的页面布局效果。
|
2月前
element el-table 设置fixed导致行错乱问题
文章讨论了在使用Element UI的`el-table`组件时,设置固定列(`fixed`)导致行错乱的问题,并提供了解决方案。问题产生的原因是当表格底部有滚动条而固定列底部没有滚动条时,行无法对齐。解决办法是在表格中设置`padding-bottom`的内边距与滚动条高度相等,确保固定列和非固定列的行能够对齐。
735 0
|
11月前
display:block小技巧
display:block小技巧
56 0
|
前端开发 容器
【前端】一文读懂display: inline-block
【前端】一文读懂display: inline-block
419 2
|
前端开发
【前端】display:inline-block中间的间隙
【前端】display:inline-block中间的间隙
112 0
【前端】display:inline-block中间的间隙
|
前端开发 JavaScript
style样式优先级问题【display:block依旧无法显示DOM元素】
style样式优先级问题【display:block依旧无法显示DOM元素】
style样式优先级问题【display:block依旧无法显示DOM元素】