CSS Box Shadow использует тень на словах, когда я не хочу - PullRequest
0 голосов
/ 03 мая 2020

Я в некотором роде новичок в кодировании, но при добавлении тени блока на панель навигации она также дает тень для ссылок #href. Я не хочу, чтобы у слов была тень, только нижняя часть панели навигации.

body {
      background-color: grey;
      font-family: 'Poppins', sans-serif;
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1.4;
        color: var(--main-white);
    }
    
    #nav {
      display: flex;
      justify-content: flex-end;
      z-index: 1;
      padding: 10px 25px 10px 10px;
      font-size: 35px;
      font-family: 'Poppins', sans-serif;
      color: #ffa2ae;
      box-shadow: 0 2px rgba(0, 0, 0, 0.4);
      text-decoration: none;
    }
    
    #nav {
      background: #81f7ff;
    }
    
    *, *::before, *::after {
        box-sizing: inherit;
      * {
        margin: 0;
        padding: 0
      }
<main> 
  <section id="nav" name="nav"> 
    <a href="#home" id="nav" name="home-nav">Home</a> 
    <a href="#purchase" id="nav" name="purchase-nav">Purchase</a> 
    <a href="#contact" id="nav" name="contact-nav">Contact</a> 
  </section>
</main> 

Here is what it looks like with the current CSS:

Ответы [ 3 ]

0 голосов
/ 04 мая 2020

сначала необходимо удалить id из всех тегов a, поскольку id всегда должно быть уникальным и должно указываться только для одного элемента. при удалении идентификатора из всех тегов a стиль не будет прежним, потому что nav стилизовал тег a.

давал спецификацию c CSS для указанного тега c решает вашу проблему.

рабочая демонстрация:

*, *::before, *::after {
  box-sizing: inherit;
}

* {
  margin: 0;
  padding: 0
}


body {
  background-color: grey;
  font-family: 'Poppins', sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--main-white);
}
    
#nav {
  display: flex;
  justify-content: flex-end;
  z-index: 1;
  font-size: 35px;
  background: #81f7ff;
  box-shadow: 0 2px rgba(0, 0, 0, 0.4);
}

#nav a{
    color: #ffa2ae;
    text-decoration: none;
    padding: 10px 25px 10px 10px;
}
<main>
  <section id="nav" name="nav">
    <a href="#home"  name="home-nav">Home</a>
    <a href="#purchase"  name="purchase-nav">Purchase</a>
    <a href="#contact"  name="contact-nav">Contact</a>
  </section>
</main>
0 голосов
/ 04 мая 2020

Кажется, ваш якорь ID совпадает с вашим родительским идентификатором nav, поэтому вам нужно удалить его, и это решит вашу проблему. Спасибо

CSS

body {
      background-color: grey;
      font-family: 'Poppins', sans-serif;
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1.4;
        color: var(--main-white);
    }

    #nav {
      display: flex;
      justify-content: flex-end;
      z-index: 1;
      font-size: 35px;
      font-family: 'Poppins', sans-serif;
      box-shadow: 0 2px rgba(0, 0, 0, 0.4);
      background: #81f7ff;
    }

    #nav a{
        text-decoration: none;
        padding: 10px 25px 10px 10px;
         color: #ffa2ae;
    }


    *, *::before, *::after {
        box-sizing: inherit;
      * {
        margin: 0;
        padding: 0
      }

HTML

<main> 
  <section id="nav" name="nav"> 
    <a href="#home"  name="home-nav">Home</a> 
    <a href="#purchase"  name="purchase-nav">Purchase</a> 
    <a href="#contact"  name="contact-nav">Contact</a> 
  </section>
</main>
0 голосов
/ 03 мая 2020

Похоже, что это так, потому что ваш шрифт / ссылка находится в теге Navbar, если вы посмотрите на файл HTML, и поэтому текст получает тени от вашей панели навигации. Попробуйте добавить href (или h1, bzw, что есть в вашем файле HTML) в ваш файл css и установите для shatdows значение 0 или ничего.

...