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

[HTML & CSS] Menu 2 poziomowe rozwala się

Object Storage Arubacloud
0 głosów
298 wizyt
pytanie zadane 2 grudnia 2018 w HTML i CSS przez Thisisit Nowicjusz (190 p.)
edycja 3 grudnia 2018 przez Thisisit

Dobry, 

mam proste menu zagnieżdżone (2 poziomy). Ustawiłem sobie 1 poziom menu,a le jak najadę na 2 to poszerza mi się (ponieważ niewidoczny normalnie text jest dłuższy) . Jak zrobić aby pojawiało się pod menu bez rozszerzania głównej kategorii?

html 

<!-- Nav -->
    <nav class="menu">
        <div class="logo"><img src="img\logo.png" alt=""></div>

        <div class="div_menu">
            <ol class="ol_menu">
                <li class="li_category"><a class="a_category ofrerta" href="#"><i class="fas fa-caret-down"></i>&nbsp;&nbsp;Oferta
                    </a>
                    <ul class="ul_submenu">
                        <li class="li_submenu"><a class="a_submenu" href="#">Internet</a></li>
                        <li class="li_submenu"><a class="a_submenu" href="#">Telewizja</a></li>
                        <li class="li_submenu"><a class="a_submenu" href="#">Telefon</a></li>
                    </ul>
                </li>

                <li class="li_category"><a class="a_category" href="#">Biznes</a>
                </li>

                <li class="li_category"><a class="a_category" href="#"><i class="fas fa-caret-down"></i>&nbsp;&nbsp;Informacje
                    </a>
                    <ul class="ul_submenu">
                        <li class="li_submenu"><a class="a_submenu" href="#">Aktualności</a></li>
                        <li class="li_submenu"><a class="a_submenu" href="#">Projekty unijne</a></li>
                        <li class="li_submenu"><a class="a_submenu" href="#">RODO</a></li>
                        <li class="li_submenu"><a class="a_submenu" href="#">Ciasteczka</a></li>
                    </ul>
                </li>

                <li class="li_category"><a class="a_category" href="#">Dla inwestorów</a></li>

                <li class="li_category"><a class="a_category" href="#"><i class="fas fa-caret-down"></i>
                        &nbsp;&nbsp;Pomoc </a>
                    <ul class="ul_submenu">
                        <li class="li_submenu"><a class="a_submenu" href="#">Ogólna</a></li>
                        <li class="li_submenu"><a class="a_submenu" href="#">Techniczna</a></li>
                    </ul>
                </li>
                <li class="li_category"><a class="a_category" href="#">Kontakt</a>

                </li>
            </ol>
        </div>
    </nav>

css 


*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Lato', sans-serif;
    background-image: url("../img/computer-820281.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    opacity: 0.9;
}

nav.menu {
    display: flex;
    height: 62px;
    width: 90vw;
    background-color: rgb(221, 218, 218);
    top: 10px;
    left: calc(10);
    position: fixed;
    max-width: 1400px;
    left: 50%;
    transform: translateX(-50%);
    border: 1px solid #000;
}

div.logo img {
    height: 40px;
    margin: 10px;
}

div.menu {
    margin-right: 0;
}

ol.ol_menu {
    list-style-type: none;
    display: flex;
    position: absolute;
    right: 0;
    flex-grow: 0;
}

li.li_category {
   list-style-type: none;
   width: auto;
}

ul.ul_submenu {
   list-style-type: none;
   display: none;
   border-left: 1px solid  rgb(65, 64, 64);
   border-right: 1px solid  rgb(65, 64, 64);
   border-bottom: 1px solid  rgb(65, 64, 64);
}


li.li_category:hover > ul.ul_submenu {
    display: block;
}

li.li_submenu {
    background-color: rgb(221, 218, 218);
    text-align: center;
}

a.a_category  {
    display: flex;
    text-decoration: none;
    text-transform: uppercase;
    color: rgb(65, 64, 64);
    padding: 5px 10px;
    font-weight: 700;
    font-size: 15px;
    line-height: 50px;
    transition: .5s;
    text-align: center;
}

a:hover {
    color: #32bdd7;
    background-color: azure;
    width: 100%;
    opacity: 1;
}

a.a_submenu{
    line-height: 18px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    text-transform: uppercase;
    color: rgb(65, 64, 64);
    font-weight: 700;
    font-size: 15px;
    transition: .5s;
    text-align: left;
}

section.main {
    position: relative;
    top: 100px;
}

.fas {
    line-height: 50px;
}

2 odpowiedzi

0 głosów
odpowiedź 3 grudnia 2018 przez radek024 Szeryf (77,160 p.)
wybrane 3 grudnia 2018 przez Thisisit
 
Najlepsza
li > ul{
  position: absolute;
}

Tylko to nie jest okej rozwiązanie. Style masz określone dosć uniwersalnie, a należy pamiętać że stylizujemy tak, aby nie wpływać na resztę strony. Umieść odpowiednie klasy i wszystko będzie śmigać,

komentarz 3 grudnia 2018 przez Thisisit Nowicjusz (190 p.)
Już kilka godzin siedziałem nad tym projektem. Zaklasowałem każdy element. Edytuje je i nie ma pożądanego efektu. Nie mam najmniejszego pojęcia co zrobić aby po tym jak wysunie się nowe pod menu szerokość tego podstawowego nie rosła.

Zrobiłem aktualizację kodu w 1 poście.
komentarz 3 grudnia 2018 przez radek024 Szeryf (77,160 p.)

https://codepen.io/anon/pen/MzReao

Zobacz, dodałem ostatnią linijkę i działa to nadal. Musi coś być nie tak z tym jak używasz klas.

komentarz 3 grudnia 2018 przez Thisisit Nowicjusz (190 p.)

@radek024, O boże faktycznie... Nie wiem co gorsze: ze teraz po małej ilości kodu działa czy to że to obrzydliwie wygląda XD

 

Dziękuje Ci bardzo!

0 głosów
odpowiedź 3 grudnia 2018 przez Thisisit Nowicjusz (190 p.)
Zmieniłem odrobinę kod z pierwszego potsa. Dodałem klasy jednak nie mogę osiągnąć pożądanego efektu.

Podobne pytania

0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 13 października 2015 w PHP przez Frendom Pasjonat (18,900 p.)
0 głosów
2 odpowiedzi 175 wizyt
pytanie zadane 4 lipca 2018 w HTML i CSS przez profsor500 Użytkownik (610 p.)
0 głosów
0 odpowiedzi 558 wizyt
pytanie zadane 2 listopada 2020 w HTML i CSS przez Igorek Mądrala (6,290 p.)

92,579 zapytań

141,432 odpowiedzi

319,661 komentarzy

61,963 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!

...