制作具有不同开始,结束和制动的css菜单

时间:2012-07-11 14:50:10

标签: css menu css-shapes

嘿,伙计们希望你能帮助我。

这已经超过一个小时了,它让我疯狂。

基本上我是CSS的新手,但我正在学习。目前我正在尝试复制一个看起来像这样的菜单:

actual menu

到目前为止我看到的是这样的(我知道字体不同但不是问题): enter image description here

正如你所看到的,我已经得到了背景,但我不知道如何在每个标签之间进行开始,结束和中断(黑线部分)。

另外,基本上是开始,休息,结束我有.jpg图像。不要寻找html5或css3曲线等来做到这一点。只是想保持简单:)。

这是我到目前为止所得到的。如果你可以给我一些关于我如何能够留下什么的提示并且如果我使用了一种不那么好的方法,建议采用一种更好的方法,那就太棒了。

html:

    <div id="header">

            <ul id="header-list">
                <li class="header-list-item">
                    <span class= "header-list-item-span" >Home</span>

                </li>

                <li class="header-list-item">
                  <span class= "header-list-item-span" >About Us</span>

                </li>
                <li class="header-list-item">
                   <span class= "header-list-item-span" >Services</span>

                </li>
            </ul>

    </div><!--END OF HEADER -->

css:

#header-list{
  display: table;

 position: relative;
 left: -3em;

  table-layout: fixed;
  margin-bottom: 0PX;
  margin-top: 0;
  margin-left: auto;

}

.header-list-item-span{
    background-image: url("img/menubody.jpg");
    color: white;
    display: inline-block;
    width: 5em;
    font-size: large;
    text-align: center;
    padding: .2em;
}

.header-list-item{
     display: table-cell;

 height: 4.2em;
  vertical-align:  bottom;

}

2 个答案:

答案 0 :(得分:1)

这是一个想法:

ul换入div。将第一个jpg设置为该div的背景图像,并添加一些padding-left以便可以看到图像。 将最后一个jpg设置为ul的背景图像,并添加一些padding-right,以便图像也可以显示。

另外,在我看来,你应该通过更多地利用CSS选择器来简化你的HTML。

标题列表可以选为div#header > ul。 您可以使用header-list-item选择您在课程div#header > ul > li中选择的项目。 我不认为跨度实际上是必要的,您可以将样式直接应用于li元素。

答案 1 :(得分:0)

将ul包裹在另一个div中,并在左侧内侧添加填充,您可以将起始图像作为背景。然后将右图像作为ul的背景,并在右侧添加填充。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title></title>
    <style>
        div,li,ul,span { margin: 0;padding: 0;}

        body  { width: 700px; margin: 0 auto; }

        #header 
        {
            background: url(http://www.lucascobb.com/wp-content/uploads/2012/02/1-plastic-navigation-bar-565x182.jpg) top center repeat;
            padding-top: 50px;
            position: relative;
        }

        #header .nav 
        {
            background: url(http://www.ultracomwireless.com/images/button_left.png) top left no-repeat;
            float: right;
            width: 413px;
            padding-left: 26px;
            margin-right: 20px;
        }

        #header .nav .nav-wrapper 
        {
            background: url(http://www.ultracomwireless.com/images/button_right.png) top right no-repeat red;
            padding-right: 26px;
        }

        #header ul 
        {
            position: relative;
            list-style: none;
        }
        #header ul li   
        {
            background: red;
            width: 120px;
            float: left;
            text-align: center; 
        }
        #header ul li span 
        {
             color: white; 
             padding: 8px 0px;
        }
        .clear { clear: both;}
    </style>
</head>
<body>


    <div id="header">
        <div class="nav">
            <div class="nav-wrapper">
                <ul>
                    <li><span>Home</span></li>
                    <li><span>About Us</span></li>
                    <li><span>Services</span></li>
                </ul>   
                <div class="clear"></div>
            </div>
        </div>
        <div class="clear"></div>
    </div>


</body>