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

Jak usunąć border ostatniego childa?

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
32 wizyt
pytanie zadane 19 listopada w HTML i CSS przez MacieKap Obywatel (1,950 p.)
edycja 20 listopada przez MacieKap
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Podróże</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap" rel="stylesheet">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Kolker+Brush&display=swap" rel="stylesheet">
    <style>
        :root{
           --dark: #0a0a0a; 
           --blue: #26278a;
        }
        *{
            padding: 0;
            margin: 0;
            box-sizing: border-box;
            color: white;
            font-family: 'Lato', sans-serif;
        }
        body{
            width: 100vw;
            height: 100vh;
            background: var(--blue);
            background-image: url("blue.jpg");
            background-size: cover;
            background-position: center;
            align-items: center;
            justify-content: center;
            display: flex;
            position: relative;
            overflow: hidden;
        }
        .container{
            background: rgba(0, 0, 0, 0.55);
            background: linear-gradient(45deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.1));
            backdrop-filter: blur(10px);
            width: 70vw;
            min-height: 70vh;
            border-radius: 1.5vh;
            animation: opacity linear 1s;
            position: relative;
            overflow: hidden;
        }
       a{
        text-decoration: none;
       }
        h1{
            text-align: center;
            font-weight: 700;
            color: white;
            font-size: 28px;
            margin-top: 10px;
        }
        @keyframes opacity{
            from{
                opacity: 0;
            }
            to{
                opacity: 1;
            }
        }
        .hamburger{
            position: absolute;
            background-color: transparent;
            border: transparent;
            padding: 10px;
            top: 5px;
            left: 15px;
            display: inline-block;
            cursor: pointer;
            transition: .3s transform;
        }
        .hamburger-box{
            position: relative;
            width: 48px;
            height: 24px;
            display: inline-block;
        }
        .hamburger-line{
            width: 100%;
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            background-color: white;
            height: 3px;
            display: inline-block;
            transition: background-color .3s;
        }
        .hamburger-line::before, .hamburger-line::after{
            width: 100%;
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            background-color: white;
            height: 3px;
            display: inline-block;
            content: ' ';
            transition: transform .2s .15s;
        }
        .hamburger-line::before{
            top: -10px;
        }
        .hamburger-line::after{
            top: 11.5px;
        }
        .hamburger-active{
            transform: translateX(20vw);
        }
        .hamburger-active .hamburger-line{
            background: transparent;
        }
        .hamburger-active .hamburger-line::before{
            transform: translateY(10px) rotate(45deg);
        }
        .hamburger-active .hamburger-line::after{
            transform: translateY(-11.5px) rotate(-45deg);
        }
        .nav{
            height: 100%;
            width: 20vw;
            position: absolute;
            top: 0;
            font-size: 20px;
            transform: translateX(-20vw);
            border-radius: 20px;
            background: linear-gradient(45deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.25));
            transition: transform .3s;
        }
        .menu{
            list-style-type: none;
            padding: 20px;
            overflow: hidden;
        }
        .nav-active{
            transform: translateX(0);
        }
        .button{
            padding: 10px;
            border-bottom: solid white 3px;
            cursor: pointer;
        }
        .button-button{
            background-color: transparent;
            border: transparent;
            font-size: 20px;
            cursor: pointer;
        }
        .menu:last-child{
            border-bottom: none;
        }
    </style>
</head>
<body>
    <div class="container">
        <main>
        <div class="logo">
            <a href="index.html">
                <h1>Podróże</h1>
            </a>
           <button class="hamburger">
            <span class="hamburger-box">
                <span class="hamburger-line"></span>
            </span>
           </button>
           <div class="nav">
            <ul class="menu">
                <li class="button"><a href="#">Madagaskar</a></li>
                <li class="button"><a href="#">Warszawa</a></li>
                <li class="button"><a href="#">Zanzibar</a></li>
                <li class="button"><a href="#">Los Angeles</a></li>
                <li class="button"><a href="#">San Francisco</a></li>
            </ul>
           </div>
        </div>
        <div id="content">
            <p>
                
            </p>
        </div>
    </div>
    </main>
    <script>
        var burger = document.querySelector('.hamburger');
        var nav = document.querySelector('.nav');
        var clicked = () => {
            burger.classList.toggle('hamburger-active');
            nav.classList.toggle('nav-active');
        }
        burger.addEventListener('click', clicked);
    </script>
</body>
</html>

Witam,

chciałbym usunąć border ostatniego dziecka listy .menu, jak to zrobić?

 

Z góry dziękuję za wszystkie odpowiedzi.

2 odpowiedzi

0 głosów
odpowiedź 19 listopada przez VBService Ekspert (204,730 p.)
wybrane 20 listopada przez MacieKap
 
Najlepsza

Po pierwsze tu masz błąd (</a></a>)

            <ul class="menu">
                <a href="#"><li class="button">Madagaskar</li></a></a>
                <a href="#"><li class="button">Warszaw</li></a>
                <a href="#"><li class="button">Zanzibar</li></a>
                <a href="#"><li class="button">Los Angeles</li></a>
                <a href="#"><li class="button">San Francisco</li></a>
            </ul>

 

dlatego nie zadziałał

.menu li:last-child {
  border: none;
}

bo masz źle "zagnieżdżone" tagi <li> powinien być nadrzędny (parent - rodzicem) dla <a>

            <ul class="menu">
                <li class="button"><a href="#">Madagaskar</a></li>
                <li class="button"><a href="#">Warszaw</a></li>
                <li class="button"><a href="#">Zanzibar</a></li>
                <li class="button"><a href="#">Los Angeles</a></li>
                <li class="button"><a href="#">San Francisco</a></li>
            </ul>

 

komentarz 20 listopada przez MacieKap Obywatel (1,950 p.)
Dlaczego .menu li ?
0 głosów
odpowiedź 19 listopada przez Comandeer Guru (580,340 p.)

Możesz dodać regułkę dla .button:last-child, w której usuniesz ten border. Możesz też zmienić tej obecnej regułce selektor na .button:not(:last-child), co zaaplikuje border do wszystkich li oprócz ostatniego:

Aczkolwiek musiałbyś przy okazji poprawić strukturę listy – poprawnie jest ul > li > a, nie tak jak masz obecnie ul > a > li.

Podobne pytania

0 głosów
3 odpowiedzi 1,675 wizyt
pytanie zadane 14 października 2015 w HTML i CSS przez xR Mądrala (6,260 p.)
0 głosów
1 odpowiedź 186 wizyt
0 głosów
1 odpowiedź 168 wizyt
pytanie zadane 12 maja 2015 w HTML i CSS przez timati Bywalec (2,060 p.)

89,768 zapytań

138,375 odpowiedzi

309,458 komentarzy

59,679 pasjonatów

Advent of Code 2022

Top 15 użytkowników

  1. 1088p. - Argeento
  2. 1024p. - rucin93
  3. 1020p. - Michal Drewniak
  4. 1014p. - Łukasz Eckert
  5. 988p. - TheLukaszNs
  6. 963p. - JMazurkiewicz
  7. 960p. - adrian17
  8. 945p. - Jarosław Roszyk
  9. 920p. - Mawrok
  10. 914p. - overcq
  11. 900p. - nidomika
  12. 872p. - Mikbac
  13. 859p. - ssynowiec
  14. 848p. - Adam Salamon
  15. 811p. - Hubert Chęciński
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...