首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅使用SCSS将display:block改为display:none?

如何仅使用SCSS将display:block改为display:none?
EN

Stack Overflow用户
提问于 2021-10-25 09:36:11
回答 2查看 121关注 0票数 0

我有一个超大菜单的导航。如果我点击“选项1",我需要在list-1上设置display: block。如果我点击“选项2",我需要在list-1上设置display: none,在list-2上设置display: block

以下是megamenu的一个示例:

代码语言:javascript
复制
<div>
    <ul>
       <li class="option-1"><a>option 1</a></li>
       <li class="option-2"><a>option 2</a></li>
    </ul>

    <ul class="list-1">
       <li>option</li>
       <li>option</li>
    </ul>

    <ul class="list-2">
       <li>option</li>
       <li>option</li>
    </ul>
</div>

有谁知道只使用SCSS或CSS就能做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-25 10:04:00

另一种方法是使用JS或jQuery,如下所示:

代码语言:javascript
复制
$('.list').hide();
$('.button-1').click(function() {
   $('.list').hide();
   $('.list-1').toggle();
});
$('.button-2').click(function() {
  $('.list').hide();
   $('.list-2').toggle();
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button class="button-1">1</button>
<button class="button-2">2</button>


    <ul class="list-1 list">
       <li>option1</li>
       <li>option1</li>
    </ul>

    <ul class="list-2 list">
       <li>option2</li>
       <li>option2</li>
    </ul>
</div>

票数 1
EN

Stack Overflow用户

发布于 2021-10-25 10:15:22

完全避免JS/jQuery,你可以将一个复选框样式化为一个“按钮”,并像这样使用代码。

代码语言:javascript
复制
.option-1:checked ~ .list-1 {
  display:none;
}

.option-2:checked ~ .list-2 {
  display:none;
}
代码语言:javascript
复制
<input class="option-1" type="checkbox">
<input class="option-2" type="checkbox">



<ul class="list-1">
  <li>1</li><li>2</li>
</ul>

<ul class="list-2">
  <li>3</li><li>4</li>
</ul>

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69705742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档