Цвет текста кнопки не меняется на белый в коде SCSS

#html #css #web #button #sass

#HTML #css #веб #кнопка #sass

Вопрос:

Я практиковал свой CSS (SCSS) по ссылке codepen: https://codepen.io/zubaer41/pen/XWKzomo?editors=1100 но есть проблема, с которой я столкнулся и не смог ее решить. Должны появиться две кнопки, и текст в них должен быть белым. Я могу изменить цвет фона кнопок, но я не могу сделать цвет текста кнопки белым, хотя я не мог найти никаких причин, почему это происходит. ПОМОГИТЕ, ПОЖАЛУЙСТА!!
// ==== КОД HTML и CSS (SCSS) ====

 
    <nav >
      <ul class="navigation">
        <li><a href="#">About us</a></li>
        <li><a href="#">Pricing</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
      <div class="button">
        <a class="btn-main" href="#">Sign up</a>
        <a class="btn-hot" href="#">Get a quote</a>
      </div>
    </nav>```
      
    
    =========================================================
    =================== CSS (SCSS) CODE =====================
    =========================================================
    
    ```* {
      margin: 0;
      padding: 0;
    }
    
    $color-primary: #f9ed69; //yellow color
    $color-secondary: #f08a5d; //orange color
    $color-tertiary: #b83b5e; //pink color
    $color-text-dark: #333;
    $color-text-light: #eee;
    
    $width-button: 150px;
    
    @mixin clearfix {
         amp;::after {
        content: "";
        clear: both;
        display: table;
      }
    }
    
    @mixin style-link-text($color) {
      text-decoration: none;
      text-transform: uppercase;
      color: $color;
    }
    
    @function divide($a, $b) {
      @return $a / $b;
    }
    
    nav {
      margin: divide(60, 2) * 1px;
      background-color: $color-primary;
      
      @include clearfix;
    }
    
    .navigation {
      list-style: none;
      float: left;
      
      li {
        display: inline-block;
        margin-left: 30px;
        margin-top: 10px;
        
        amp;:first-child {
        margin: 10px;
        }
        
        a {
          @include style-link-text($color-text-dark);
        }
      }
    }
    
    .button {
      float: right;
    }
    
    %btn-placeholder {
      padding: 10px;
      display: inline-block;
      text-align: center;
      border-radius: 100px;
      width: $width-button;
      @include style-link-text($color-text-light);
    }
    
    .btn-main {
      amp;:link {
        @extend %btn-placeholder;
        background-color: $color-secondary;
      }
      
      amp;:hover {
        background-color: darken($color-secondary, 10%);
      }
    }
    
    .btn-hot {
      amp;:link {
        @extend %btn-placeholder;
        background-color: $color-tertiary;
      }
      
      amp;:hover {
        background-color: lighten($color-tertiary, 10%);
      }
    }```

  

Ответ №1:

Я думаю, вам нужно добавить

   amp;:focus {
    color:white;
  }  

в вашем .btn-main и btn-hot .
Это сделало текст кнопки белым для меня…

Ответ №2:

 .btn-main {
    amp;:link {
        @extend %btn-placeholder;
        background-color: $color-secondary;
        color : #fff;
    }
}
  

Попробуйте это

Ответ №3:

укажите «a» внутри.кнопка div, :link будет работать, только если это ссылка (установлен href)

 .button {
  a { color:#eee; }
}