用纯CSS如何制作流行的TAB菜单?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用纯CSS如何制作流行的TAB菜单?相关的知识,希望对你有一定的参考价值。

参考技术A

Tab菜单比较简单的方法是直接使用dreamweaver cs3的spry制作,其他方法制作难度比较大,不管哪种方法,必须要使用javascript调用。

<ul class="tabs">
<li>

<input type="radio" name="tabs" id="tab1" checked />
<label for="tab1">选项卡 1</label>

<div id="tab-content1" class="tab-content">

<p>选项卡内容 1</p>
</div>
</li>
<li>

<input type="radio" name="tabs" id="tab2" />
<label for="tab2">选项卡 2</label>
<div id="tab-content2" class="tab-content">
<p>选项卡内容 2</p>

</div>
</li>
</ul>

如何在悬停时制作 Bootstrap 的下拉菜单?

【中文标题】如何在悬停时制作 Bootstrap 的下拉菜单?【英文标题】:How to make Bootstrap's dropdown on hover? 【发布时间】:2012-10-25 23:52:30 【问题描述】:

如何使 twitter bootstrap 的菜单下拉菜单悬停而不是单击?

【问题讨论】:

您可以使用纯 css 简单地做到这一点,***.com/a/22365311/861607 【参考方案1】:

虽然How to make twitter bootstrap menu dropdown on hover rather than click 得到了很多人的支持,但使用较新版本的 Bootstrap,无需破解它。

http://cameronspear.com/blog/twitter-bootstrap-dropdown-on-hover-plugin/ 是现有 dropdown.js 的替代品,可让您在悬停时启用。无需修改 CSS。

【讨论】:

【参考方案2】:

这是我用来让导航栏下拉菜单在悬停时向下滑动而不只是弹出的功能

$('.navbar .dropdown').hover(function() 
  $(this).find('.dropdown-menu').first().stop(true, true).delay(250).slideDown();
, function() 
  $(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp()
);

【讨论】:

【参考方案3】:

1.在鼠标悬停上隐藏下拉菜单

$(document).ready(function() 
    $('.nav li.dropdown').hover(function() 
        $(this).addClass('open');
    , function() 
        $(this).removeClass('open');
    );
);

2.在点击时隐藏下拉菜单

$(document).ready(function() 
    $('.nav li.dropdown').hover(function() 
        $(this).addClass('open');
    );
);

http://jsfiddle.net/7yMsQ/1/

【讨论】:

还在第二个(关闭)函数的第一行添加$('.nav li.dropdown').removeClass('open');,这样如果您有多个下拉菜单,它会隐藏其他可能打开的下拉菜单。【参考方案4】:

您只需使用 css 就可以做到这一点。在按钮下拉的情况下。

   <div class="btn-group btn-hover-group">
      <a href="#" id="selected" class="btn btn-default editor-submit">Action 1</a>
      <a href="#" class="btn btn-default dropdown-toggle"></a>
      <ul class="dropdown-menu pull-right">
        <li><a href="#" id="all" class="editor-submit">Action 2</a></li>
        <li><a href="#" id="matching" class="editor-submit">Action 3</a></li>
      </ul>
    </div>

&lt;a href="#" class="btn btn-default dropdown-toggle"&gt;&lt;/a&gt; 中删除了data-toggle="dropdown"

.btn-hover-group > a:hover ~ ul
 display:block;

.btn-hover-group > .dropdown-menu:hover
 display:block;

我希望这足以满足您的目的。

【讨论】:

【参考方案5】:

你可以像这样使用 bootstrap 4..

<div class="dropdown">
  <button class="dropbtn">Dropdown</button>
  <div class="dropdown-content">
    <a href="#">Link 1</a>
    <a href="#">Link 2</a>
    <a href="#">Link 3</a>
  </div>
</div>

然后定义下面的类属性值..它应该可以工作

.dropbtn 
    background-color: #4CAF50;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;


.dropdown 
    position: relative;
    display: inline-block;


.dropdown-content 
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;


.dropdown-content a 
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;

.dropdown:hover .dropdown-content display: block;

【讨论】:

以上是关于用纯CSS如何制作流行的TAB菜单?的主要内容,如果未能解决你的问题,请参考以下文章

用纯css实现Tab切换

如何在 Vuejs 中制作选项卡菜单特定链接

div css 横向tab 同一菜单中如何跳转页面?

怎么用纯css实现点击出现下拉框,抽屉效果那种

怎么用纯CSS制作带小三角的tooltip提示框

如何在 CSS 中制作具有变化高度的固定顶部菜单栏?