0

我想在这个网站上做一个菜单:http ://www.accenture.com/us-en/pages/index.aspx ex。外包。可以使用 css 和 html 来做到这一点。我不能用列创建“li”或“ul”。

我的代码

<body>

<style type="text/css">#cssmenu{
    border:none;
    border:0px;
    margin:0px;
    padding:0px;
    font-family:verdana,geneva,arial,helvetica,sans-serif;
    font-size:12px;
    font-weight:bold;
    color:8e8e8e;
    }
#cssmenu ul{
    background:url(menu_assets/images/menu-bg.gif) top left repeat-x;
    height:43px;
    list-style:none;
    margin:0;
    padding:0;
    }
    #cssmenu li{
        float:left;
        padding:0px 8px 0px 8px;
        }
    #cssmenu li a{
        color:#666666;
        display:block;
        font-weight:bold;
        line-height:43px;
        padding:0px 25px;
        text-align:center;
        text-decoration:none;
        }
        #cssmenu li a:hover{
            color:#000000;
            text-decoration:underline;
            }
    #cssmenu li ul{
        background:#e0e0e0;
        border-left:1px solid #0079b2;
        border-right:1px solid #0079b2;
        border-bottom:1px solid #0079b2;
        display:none;
        height:auto;
        filter:alpha(opacity=95);
        opacity:0.95;
        position:absolute;
        width:600px;
        /*top:1em;
        /*left:0;*/
        }
    #cssmenu li:hover ul{
        display:block;
        }
    #cssmenu li li {
        display:block;
        float:none;
        padding:0px;
        width:225px;
        }
    #cssmenu li ul a{
        display:block;
        font-size:12px;
        font-style:normal;
        padding:0px 10px 0px 15px;
        text-align:left;
        }
        #cssmenu li ul a:hover{
            background:#949494;
            color:#000000;
            opacity:1.0;
            filter:alpha(opacity=100);
            }
    #cssmenu p{
        clear:left;
        }   
    #cssmenu .active > a{
        background:url(menu_assets/images/current-bg.gif) top left repeat-x;
        color:#ffffff;
        }
    #cssmenu .active > a:hover {
        color:#ffffff;
        }
        </style>
<div id='cssmenu'>
<ul>
   <li class='active'><a href='index.html'><span>Home</span></a></li>
   <li class='has-sub'><a href='#'><span>Products</span></a>
      <ul>
         <li><a href='#'><span>Product 1</span></a></li>
         <li><a href='#'><span>Product 2</span></a></li>
         <li><a href='#'><span>Product 3</span></a></li>
         <li><a href='#'><span>Product 3</span></a></li>
         <li class='last'><a href='#'><span>Product 4</span></a></li>
      </ul>
   </li>
   <li><a href='#'><span>About</span></a></li>
   <li class='last'><a href='#'><span>Contact</span></a></li>
</ul>
</div>
<div style="clear:both; margin: 0 0 30px 0;">&nbsp;</div>

</body>

当然我在网上搜索,但我找不到解决方案。

4

1 回答 1

0

特定的选择器

首先,当您使用类似#cssmenu ulor的 CSS 规则#cssmenu li时,该 CSS 规则将应用于主菜单和子菜单的 HTML 标签。某些样式可能会应用于不需要应用的元素。为避免这种可能的混淆,请>在更多 CSS 选择器中使用子组合器。例如:

#cssmenu > ul {...}           // Only applied to main menu
#cssmenu > ul > li {...}      // Only applied to main menu li tags
#cssmenu > ul > li > a {...}  // Only applied to main menu links

#cssmenu ul ul {...}       // No confusion here, since menu isn't 3 levels deep
#cssmenu ul ul li {...}    // No confusion here, only applied to submenu li tags
#cssmenu ul ul li a {...}  // No confusion here, only applied to submenu links

浮动菜单项

其次,如果您正在模仿埃森哲菜单,在页面右侧显示可变宽度菜单项的最快方法是将菜单项向左浮动,同时将整个菜单向右浮动。

#cssmenu > ul      { float: right; ... }
#cssmenu > ul > li { float: left; ... }
...
<ul>
   <li class='active'><a href='index.html'><span>Home</span></a></li>
   <li class='has-sub'><a href='#'><span>Products</span></a> ... </li>
   <li><a href='#'><span>About</span></a></li>
   <li class='last'><a href='#'><span>Contact</span></a></li>
</ul>

有时将父母和孩子朝相反的方向浮动是有问题的。如果这样做有任何问题,最安全的选择是将菜单项浮动到右侧。在这种情况下,为了让它们以正确的顺序显示,您必须颠倒 HTML 源代码中菜单项的顺序。

#cssmenu > ul > li { float: right; ... }
...
<ul>
   <li class='last'><a href='#'><span>Contact</span></a></li>
   <li><a href='#'><span>About</span></a></li>
   <li class='has-sub'><a href='#'><span>Products</span></a> ... </li>
   <li class='active'><a href='index.html'><span>Home</span></a></li>
</ul>
于 2013-04-01T00:16:44.627 回答