简体   繁体   中英

CSS Menu centered horizontal /w img between li

i've been searching on the web and on stackoverflow, tried a lot of code, but nothing works.

I want to center a menu, with an image (will be a logotype) inside. Whats wrong with my code or where I'm failing? I've been searching and looking for help for 3 days already...

I want the menu to be inside of .container class, so the page content width is 978px

PREVIEW / EXAMPLE: http://jsfiddle.net/j08691/LVCkp/1/

HTML

<div id="home">
            <div class="nav clearfix">
                <div class="container clearfix">               
                    <ul id="menu">
                        <li><a href="#home" class="current">Home</a></li>
                        <li><a href="#services">Serviços</a></li>
                        <li><a href="#team">Equipa</a></li>
                        <a href="#"><img src="img/logo.png" alt="Logo Style Euclides" width="90px" height="40px"></a>
                        <li><a href="#image">Style</a></li>
                        <li><a href="#about">Sobre</a></li>
                        <li><a href="#contact"" class="right"">Contato</a></li>
                    </ul>
                </div>
                </div></div>

CSS

#home{
    width: 100%;
    background-color: #e9e0fd;
}

a{
    text-decoration: none;
}

    /*TOP MENU*/

        #home .nav img{
            float: left;
            padding: 10px;
        }

        #home .nav{
            /*float: left;*/

            margin: 0;
            padding: 0;
            width: 100%;
            margin-bottom: 10px;
        }

        ul#menu{
            /*width: 978px;*/
            margin: 0;
            padding: 0 ;
            list-style: none;
            margin-bottom: 40px; /* Tamanho da barra de menu */
            text-align: center;
            background-color: black;
        }

        ul#menu li{
            float: left;
            padding-top: 10px;
            margin: 4px;

        }

        ul#menu li a{
            text-transform: uppercase;
            font-weight: bold;
            font-size: 14px;
            letter-spacing: -1px;
            line-height: 30px;
            color: black;
            padding: 2px 24px;
        }

        ul#menu a:hover{
            background-color: #a6e897;
            color: black;
            padding-top: 24px;
            padding-bottom: 21px;
            border-bottom: 3px solid;
            border-color: #6bd951;
        }

        ul#menu a.current{
            color: #32c230;
        }

        ul#menu a.current:hover{
            background-color: #a6e897;
            color: black;
        }

Here is solution for you: http://jsfiddle.net/j08691/LVCkp/1/

Solution is: 1. put logo in <li> too 2. give the class eg logo to of your code with logo 3. apply width:auto; and margin:auto; to ul#menu

HTML

<div id="home">
            <div class="nav clearfix">
                <div class="container clearfix">               
                    <ul id="menu">
                        <li><a href="#home" class="current">Home</a></li>
                        <li><a href="#services">Serviços</a></li>
                        <li><a href="#team">Equipa</a></li>
                        <li> <a href="#" class="logo"><img src="img/logo.png" alt="Logo Style Euclides"></a></li>
                        <li><a href="#image">Style</a></li>
                        <li><a href="#about">Sobre</a></li>
                        <li><a href="#contact"" class="right"">Contato</a></li>
                    </ul>
                </div>
                </div></div>

CSS

body{
background:#ccc;
}

#home{
    width: 100%;
    background-color: #e9e0fd;
}

a{
    text-decoration: none;
}

    /*TOP MENU*/

        #home .nav img{
            float: left;
            padding: 10px;
        }

        #home .nav{
            /*float: left;*/

            margin: 0;
            padding: 0;
            width: 100%;
            margin-bottom: 10px;
        }

        ul#menu{
            /*width: 978px;*/
            list-style: none;
            margin-bottom: 40px; /* Tamanho da barra de menu */
            text-align: center;
            background-color: black;
    width:auto;
    margin:auto;
        }

        ul#menu li{
            float: left;
            padding-top: 10px;
            margin: 4px;

        }

        ul#menu li a{
            text-transform: uppercase;
            font-weight: bold;
            font-size: 14px;
            letter-spacing: -1px;
            line-height: 30px;
            color: black;
            padding: 2px 24px;
        }
ul#menu li a.logo{
width:90px;
    height:40px;
    padding:0;
    border:none;
    margin:auto;
    opacity:0.8;
}

        ul#menu a:hover{
            background-color: #a6e897;
            color: black;
            padding-top: 24px;
            padding-bottom: 21px;
            border-bottom: 3px solid;
            border-color: #6bd951;
        }

        ul#menu a.current{
            color: #32c230;
        }

        ul#menu a.current:hover{
            background-color: #a6e897;
            color: black;
        }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM