Кнопка становится неактивной при изменении цвета фона

Всякий раз, когда я меняю цвет фона кнопки в CSS, она становится неактивной. То же самое произойдет, если я удалю границу кнопки в css

HTML

<div class = "row">
                    <button onclick = "click('7')" class = "btn">7</button>
                    <button onclick = "click('8')" class = "btn">8</button>
                    <button onclick = "click('9')" class = "btn">9</button>
                    <button onclick = "click('/')" class = "btn">/</button>
                </div>

CSS

.btn{
    width: 60px;
    height: 60px;
    margin-left: 30px;
    margin-top: 25px;
    background: beige;   
   }

что делает ваша функция click и где она?

Professor Abronsius 25.11.2022 18:25

функция click(val) {document.getElementById("экран").value+=val }

Karmic_Soul 26.11.2022 08:11
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
81
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

попробуйте цвет фона

и это все еще кликабельно, я думаю, вам не хватает :hover s

.btn{
    width: 60px;
    height: 60px;
    margin-left: 30px;
    margin-top: 25px;
    background-color: beige;   
   }
.btn:hover {
  background-color:gray;
}
<div class = "row">
                    <button onclick = "click('7')" class = "btn">7</button>
                    <button onclick = "click('8')" class = "btn">8</button>
                    <button onclick = "click('9')" class = "btn">9</button>
                    <button onclick = "click('/')" class = "btn">/</button>
                </div>
Ответ принят как подходящий

Конечно, в Google Chrome использование click в качестве имени функции вызывало проблему — изменение его на clicker, например, похоже, устраняет эту проблему, и оно работает так, как ожидалось.

function clicker(val) {
  document.getElementById("screen").value += val 
}
.btn {
  width: 60px;
  height: 60px;
  margin-left: 30px;
  margin-top: 25px;
  background: beige;
  cursor:pointer;
}
.btn:hover{
  background:rgba(0,100,0,0.25)
}

#screen{
  width:25rem;
  height:2rem;
  border:2px solid black;
  margin:2rem 0;
  background: beige;
}
<div class = "row">
  <button onclick = "clicker('7')" class = "btn">7</button>
  <button onclick = "clicker('8')" class = "btn">8</button>
  <button onclick = "clicker('9')" class = "btn">9</button>
  <button onclick = "clicker('/')" class = "btn">/</button>
</div>

<input type='text' id='screen' />

Альтернатива с использованием делегированного прослушивателя событий

document.querySelector('.row').addEventListener('click',e=>{
  document.querySelector('#screen').value+=e.target.textContent
})
.btn {
  width: 60px;
  height: 60px;
  margin-left: 30px;
  margin-top: 25px;
  background: beige;
  cursor: pointer;
}

.btn:hover {
  background: rgba(0, 100, 0, 0.25)
}

#screen {
  width: 25rem;
  height: 2rem;
  border: 2px solid black;
  margin: 2rem 0;
  background: beige;
}
<div class = "row">
  <button class = "btn">7</button>
  <button class = "btn">8</button>
  <button class = "btn">9</button>
  <button class = "btn">/</button>
</div>
<input type='text' id='screen' />

Другие вопросы по теме