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

Css i html: wysuwane menu

Object Storage Arubacloud
+1 głos
397 wizyt
pytanie zadane 26 stycznia 2021 w HTML i CSS przez Samek2222 Początkujący (440 p.)

Witam, znalazłem na internecie kod do wysuwanego menu tylko z użyciem htmla i cssa. Dot prezentuje sie tak:

Html:

  <nav class="site-nav">
    <button class="side-menu-trigger">Menu</button>
    <aside class="side-menu">
      <ul>
        <li>
          <a href="">
            About us
          </a>
        </li>
        <li>
          <a href="">
            Some other thing
          </a>
        </li>
        <li>
          <a href="">
            Yet another one
          </a>
        </li>
        <li>
          <a href="">
            Subscribe! 
          </a>
        </li>
        <li>
          <a href="">
            Foo
          </a>
        </li>
		</ul>
</div>	

Css:

.site-nav {

  justify-content: flex-end;
  align-items: center;
  padding: 10px;
  box-sizing: border-box;
  height: 20px;
  width: 100%;
  background: black;
}

.side-menu-trigger {
  border: 0;
  border-radius: 5px;
  background: #ffffff;
  
}

.side-menu {
  display: flex;
  box-sizing: border-box;
  position: absolute;
  height: 100%;
  width: 300px;
  top: 20px;
  right: -300px;
  padding: 0;
  background: black;
  transition: 0.3s transform ease-in-out;
}

.side-menu ul {
  position: absolute;
  display: flex;
  height: calc(100% - 20px);
  flex-wrap: wrap;
  margin: 0 10px;
  padding: 0;
  list-style-type: none;
  align-content: flex-start
}

.side-menu ul li {
  display: flex;
  height: 30px;
  background: black;
  flex-basis: 100%;
  margin-top: 20px;
  color: #696e9e;
  border-radius: 5px;
  overflow: hidden;
  
}

.side-menu ul li a {
  display: flex;
  padding: 10px;
  align-items: center;
  width: 100%;
  height: 100%;
  background: black;
  text-decoration: none;
  box-sizing: border-box;
}

.side-menu-trigger:focus ~ .side-menu, .side-menu:hover {
  transform: translateX(-300px); 
}

Może mi ktoś powiedzieć, co dodać (lub zmienić) żeby nie tylko przycisk, ale i menu było po lewej stronie? Próbowałem to lekko zmieniać ale niezbyt ogarniam tego cssa i jedyny efekt jaki otrzymałem to to że przycisk jest po lewej, ale tego żeby menu wysuwało się z lewej nie potrafie już uzyskać. Jeśli ktoś mógłby mi powiedzieć co dodać/zmienić/usunąć byłbym baaardzo wdzięczny.

komentarz 26 stycznia 2021 przez wizarddos Nałogowiec (25,930 p.)
Potrzebny jest ten przycisk? czy może go nie być.
komentarz 26 stycznia 2021 przez Samek2222 Początkujący (440 p.)
Obojętnie ważne żeby dało się wysuwać i chować menu
komentarz 26 stycznia 2021 przez wizarddos Nałogowiec (25,930 p.)

Jeżeli najeżdżanie na menu wystarcza to coś takiego wykombinowałem 

https://codepen.io/wizarddos/pen/JjRgKPK

i doadtkowo usunąłem marginesy i zmieniłem kolor linków 

1
komentarz 26 stycznia 2021 przez Samek2222 Początkujący (440 p.)

Dzięki wielkie, super działa heart

komentarz 26 stycznia 2021 przez Samek2222 Początkujący (440 p.)

@wizadkol123, mam tylko takie pytanie. Czy dało by się dać jakieś oznaczenie? tj. np kwadrat z napisem"menu", żeby osoby odwiedzające tą stronę wiedziały, że jak najadą myszką w lewo to otworzy się menu. Da się coś takiego zrobić?

 

komentarz 26 stycznia 2021 przez VBService Ekspert (254,260 p.)

Gdy w kodzie css umieszczacie taki zapis

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

w innych częściach kodu css odnoszący się już do konkretnych elementów html jest zbędny - kaskadowość wink

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

.side-menu {
 display: flex;
 box-sizing: border-box; // <-- można to usunąć
 position: absolute;
 height: 100%;
 width: 300px;
 top: 20px;
 left: -290px; 
 padding: 0;
 background: black;
 transition: 0.3s transform ease-in-out;
}

 

komentarz 26 stycznia 2021 przez VBService Ekspert (254,260 p.)

@Samek2222,

np kwadrat z napisem"menu", żeby osoby odwiedzające tą stronę wiedziały, że jak najadą myszką w lewo to otworzy się menu. Da się coś takiego zrobić?

można pionowy napis menu, wstawić wink

komentarz 26 stycznia 2021 przez Samek2222 Początkujący (440 p.)
a podałbyś mi kod i w którym miejscu? sory ze prosze o gotowca ale nie ogarniam
komentarz 27 stycznia 2021 przez krissto7 Gaduła (3,100 p.)
Jeśli chodzi o menu hamburger to może skorzystaj z gotowych inspiracji z Internetu

np. https://www.aurainweb.pl/2018/02/nietypowe-menu-na-twoja-strone-inspiracje-cssjs/

może znajdziesz coś dla siebie , a nawet przerobisz i wyjdzie jakiś oryginalny pomysł.
komentarz 27 stycznia 2021 przez VBService Ekspert (254,260 p.)

1 odpowiedź

0 głosów
odpowiedź 26 stycznia 2021 przez niezalogowany
edycja 26 stycznia 2021

Moja Propozycja Jest taka :

  <nav class="site-nav">
    <button class="side-menu-trigger">Menu</button>
    <aside class="side-menu">
      <ul>
        <li>
          <a href="">
            About us
          </a>
        </li>
        <li>
          <a href="">
            Some other thing
          </a>
        </li>
        <li>
          <a href="">
            Yet another one
          </a>
        </li>
        <li>
          <a href="">
            Subscribe! 
          </a>
        </li>
        <li>
          <a href="">
            Foo
          </a>
        </li>
        </ul>
</div>    

Kod bez zmian.

.site-nav {
 
  justify-content: flex-end;
  align-items: center;
  padding: 10px;
  box-sizing: border-box;
  height: 20px;
  width: 100%;
  background: black;
}
 
.side-menu-trigger {
  position: absolute;
  display: block;
  top: 10px;
  right: 10px;
  border: 0;
  border-radius: 5px;
  background: #ffffff;
   
}
 
.side-menu {
  display: flex;
  box-sizing: border-box;
  position: absolute;
  height: 100%;
  width: 300px;
  top: 20px;
  left: -300px;
  padding: 0;
  background: black;
  transition: 0.3s transform ease-in-out;
}
 
.side-menu ul {
  position: absolute;
  display: flex;
  height: calc(100% - 20px);
  flex-wrap: wrap;
  margin: 0 10px;
  padding: 0;
  list-style-type: none;
  align-content: flex-start
}
 
.side-menu ul li {
  display: flex;
  height: 30px;
  background: black;
  flex-basis: 100%;
  margin-top: 20px;
  color: #696e9e;
  border-radius: 5px;
  overflow: hidden;
   
}
 
.side-menu ul li a {
  display: flex;
  padding: 10px;
  align-items: center;
  width: 100%;
  height: 100%;
  background: black;
  text-decoration: none;
  box-sizing: border-box;
}
 
.side-menu-trigger:focus ~ .side-menu, .side-menu:hover {
  transform: translateX(300px); 
}

W Css'ie

Zmiany w następujących  selektorach:  (.side-menu-trigger, side-menu, oraz

.side-menu-trigger:focus ~ .side-menu, .side-menu:hover .)

Przeniosłem "Przycisk" na prawa stronę aby wyglądało to czyściej i przejrzyściej!wink

Pozdrawiam Serdecznie i Powodzenia!

 

komentarz 26 stycznia 2021 przez Samek2222 Początkujący (440 p.)

Widze po punktach że jesteś doświadczony takżę zapytam też:

Przy stylowaniu przycisku jest:
 

<nav class="site-nav">
    <button class="side-menu-trigger">Menu</button>
    <aside class="side-menu">

a znalazłem fajny styl na przycisk... lecz on wygląda tak:

<div class="wrapper">
  <a href="#" class="button">DailyWeb</a>
</div>

(to jest przykład). Tak jak widać w pierwszym jest "nav" a w 2 jest "div" nie wiem czy da się to jakość połączyć bo moim zdaniem taki przycisk słąbo pasuje i brzydko wygląda także chciałem go ostylować

1
komentarz 26 stycznia 2021 przez niezalogowany

Ucz się Podstaw !

Html i CSS video lub książka ! Na początek ...Proponuje.... naprawdę pomoże!!!

smiley

Ja zaczynałem od książek bo je kocham ale w necie jest TONY darmowej Nauki !

Pozdrawiam Serdecznie i Powodzenia !

 

Podobne pytania

0 głosów
1 odpowiedź 577 wizyt
0 głosów
3 odpowiedzi 585 wizyt
pytanie zadane 5 sierpnia 2016 w HTML i CSS przez Lukasz9210 Obywatel (1,060 p.)
+1 głos
1 odpowiedź 1,145 wizyt
pytanie zadane 27 lutego 2016 w HTML i CSS przez Kubala94 Początkujący (360 p.)

92,615 zapytań

141,465 odpowiedzi

319,779 komentarzy

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

...