使用CSS创建一个大型Mega菜单

时间:2012-07-28 01:33:13

标签: css drop-down-menu navigation nav

我正在尝试创建像http://rackspace.com那样的大型菜单。我已经尝试过关于这个问题的一些其他问题给出的教程,但其中一个使用了很多图像,其中一个不适用于它们链接到的jQuery版本。我想保留所有CSS,但如果我必须,我可以使用一些JavaScript。

我不明白如何制作复杂的大型菜单,但只有简单的下拉菜单。如果有人能为我提供代码,我会非常高兴。我现在正在学习CSS,我认为这也可以让我提高自己的知识水平。

谢谢,

斯科特

5 个答案:

答案 0 :(得分:2)

这是一个非常好看的解决方案,快速谷歌搜索出现了。没有尝试过,但看起来很有希望:http://net.tutsplus.com/tutorials/html-css-techniques/how-to-build-a-kick-butt-css3-mega-drop-down-menu/

答案 1 :(得分:1)

你的问题太笼统了。使用我们可以在此处编写的简单HTML和CSS代码,您尝试实现的目标不会发生。

所以你可能会对这个jQuery插件和CSS框架感兴趣: https://myflashlabs.github.io/24component-bars/

它可以帮助您快速轻松地创建响应式大型菜单,标题,侧边栏和页脚,功能强大,没有任何麻烦......这正是您想要的:)

在那里已经有解决方案的时候,您不需要自己编码!

答案 2 :(得分:0)

非常快速地了解您需要做的事情:

http://jsfiddle.net/KqZd4/

我知道这看起来不像那些,但这确实是你需要的所有功能。只需展开下拉列表中的内容

答案 3 :(得分:0)

undefined :: T

添加您想要的更多

然后简单的风格

<li class="main_list">Electronics
<ul>
<p class="category_header">Buy Any Electronics Item And Get Flat 50% OFF</p>
<ol>
<li>Mobiles</li>
<li>Item1</li>
<li>Item2</li>
</ol>

<ol>
<li>Tablets</li>
<li>Item1</li>
<li>Item2</li>
</ol>

</ul>
</li>

如果你有任何问题需要理解这里是一个完整的教程 http://talkerscode.com/webtricks/mega-dropdown-menu-like-ecommerce-using-css.php

答案 4 :(得分:0)

尝试一下

@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
* {
  box-sizing: border-box;
  font-family: sans-serif;
}

body {
  margin: 0;
}

/* Style Navigation bar */
.navbar {
  display: -webkit-flex;
  display: flex;
  background-color: #e3e3e3;
}

.navbar a {
  display: block;
  text-decoration: none;
  color: black;
  padding: 1.1em 1em;
  font-size: 1.1em;
  border-bottom: 3px solid transparent;
  transition: 0.1s;
}

.navbar > a:hover, .dropdown > a:hover {
  border-bottom-color: #FA7D19;
}

/* Style Mega Menu */
.dropdown-content {
  display: none;
  position: absolute;
  width: 90%;
  left: 5%;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
  overflow: hidden;
}

.dropdown-content .header {
  padding: 16px;
  color: #777;
  background: white;
}

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

/* Create three equal columns that stacks next to each other */
.row {
  display: -webkit-flex;
  display: flex;
}

.column {
  width: 100%;
  padding: 10px;
  background: #f8f8f8;
}

.column a {
  color: black;
  padding: 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.column a:hover {
  background-color: #ddd;
}

/* Makes the three columns stack on top of each other instead of 
   next to each other (when screen width is 600px or less) */
@media screen and (max-width: 600px) {
  .row {
    flex-direction: column;
  }
}
<div class="navbar">
  <a href="#">Home</a>
  <div class="dropdown">
    <a href="#">Dropdown <i class="fa fa-caret-down"></i></a>
    <div class="dropdown-content">
      <div class="header">
        <h2>Mega Menu</h2>
      </div>   
      <div class="row">
        <div class="column">
          <h3>Category 1</h3>
          <a href="#">Link 1</a>
          <a href="#">Link 2</a>
          <a href="#">Link 3</a>
        </div>
        <div class="column">
          <h3>Category 2</h3>
          <a href="#">Link 1</a>
          <a href="#">Link 2</a>
          <a href="#">Link 3</a>
        </div>
        <div class="column">
          <h3>Category 3</h3>
          <a href="#">Link 1</a>
          <a href="#">Link 2</a>
          <a href="#">Link 3</a>
        </div>
      </div>
    </div>
  </div> 
  <a href="#">Pricing</a>
</div>

<div style="padding:10px 15px;">
  <h1>Create a Mega Menu</h1>
  <p>Hover over the "Dropdown" link to see the mega menu.</p>
</div>

参考: How To Create a Mega Menu