• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rozwijane menu na stronie

Object Storage Arubacloud
+1 głos
542 wizyt
pytanie zadane 13 lipca 2016 w HTML i CSS przez szymonq Użytkownik (770 p.)
edycja 13 lipca 2016 przez szymonq

Witam, proszę o pomoc z rozwijanym menu na stronie. Chodzi o to że po najechaniu kursorem na przycisk, rozwijana część się pokazuje ale rozpycha mi przycisk i przestawia całe menu.

Normalny wygląd:

Po najechaniu kursorem:

 

Kod HTML:

<div class="navbar">
                <ol class="menu">
                    <li><a href="index.html">Strona Główna</a></li>
                    <li><a href="#">Przycisk</a></li>
                    <li><a href="#">Przycisk</a></li>
                    <li><a href="#">Przycisk</a></li>
                    <li><a href="#">Przycisk</a></li>
                    <li><a href="#">Przycisk</a></li>
                    <li><a href="#">Więcej ></a>
                        <ul class="expand">
                            <li><a href="#">Pierwszy</a></li>
                            <li><a href="#">Drugi</a></li>
                            <li><a href="#">Trzeci</a></li>
                        </ul>
                    </li>
                </ol>
            </div>
.navbar
{
    width: 100%;
    height: 40px;
    padding: 10px 0;
    background-color: #299446;
    text-align: center;
    font-size: 22px;
    -webkit-box-shadow: 0px 1px 1px 0px rgba(153,255,153,0.7);
    -moz-box-shadow: 0px 1px 1px 0px rgba(153,255,153,0.7);
    box-shadow: 0px 1px 1px 0px rgba(153,255,153,0.7);
}

.sticky
{
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 500;
}

ol.menu
{
    padding: 0;
    margin: 0;
    list-style-type: none;
    height: 2em;
    line-height: 2em;
    display: inline-block;
}

ol.menu a
{
    color: #fff;
	text-decoration: none;
	display: block;
}

ol.menu > li
{
    float: left;
    padding: 0 15px;
    height: 40px;
    border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    -webkit-border-radius: 5px 5px 5px 5px;
    transition-duration: 300ms;
}

ol.menu > li:hover
{
    background-color: #efefef;
}

ol.menu li:hover a
{
    color: #c60;
}

ol.menu > li > ul.expand
{
    list-style-type: none;
	padding: 0;
	margin: 0;
    width: 120px;
	height: 40px;
	display: none;
    background-color: #fff;
}

ol.menu > li:hover > ul.expand
{
    display: block;
}

ol.menu > li:hover > ul.expand > li
{
    margin: 0;
    padding: 0;
	position: relative;
	z-index: 100;
    background-color: #299446;
    transition-duration: 300ms;
}

ol.menu > li > ul.expand a
{
    color: #fff;
	text-decoration: none;
	display: block;
}

ol.menu > li:hover > ul.expand > li:hover
{
    background-color: #efefef;
}

ol.menu > li:hover > ul.expand > li:hover a
{
    color: #c60;
}

Od dłuższego czasu nie mogę rozwiązać tego problemu. Dla przycisków nie mam szerokości ustawionej na sztywno, jest to szerokość napisu + 15px paddingu po bokach. Czy to może być przyczyną? Jak sprawić żeby rozwijana lista była szersza od przycisku ale go nie rozepchała? Magia CSSa na pewno ma na to lekarstwo, lecz dopiero zaczynam przygodę z tym językiem, więc proszę drodzy forumowicze o pomoc wink

2 odpowiedzi

+1 głos
odpowiedź 13 lipca 2016 przez xmentor Nałogowiec (49,520 p.)
wybrane 26 lipca 2016 przez szymonq
 
Najlepsza

Pewnie jest kilka sposobów na to, możesz np. dla:

ol.menu > li 

nadać pozycje relatywną, a dla

ol.menu > li > ul.expand 

pozycje absolutną.

0 głosów
odpowiedź 13 lipca 2016 przez jaca121212 Nałogowiec (40,760 p.)
Trochę po przerabiałem twój kod i efekt wyszedł taki

http://codepen.io/jaca121212/pen/EybzYz

Podobne pytania

0 głosów
1 odpowiedź 154 wizyt
pytanie zadane 14 lutego 2017 w HTML i CSS przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
0 odpowiedzi 400 wizyt
pytanie zadane 22 marca 2020 w HTML i CSS przez poldeeek Mądrala (5,980 p.)
0 głosów
2 odpowiedzi 171 wizyt
pytanie zadane 22 października 2019 w HTML i CSS przez BleBlock Użytkownik (600 p.)

92,580 zapytań

141,432 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...