Наведение подстановочного знака CSS работает на codepen, но не локально или на сервере

#css #hover

Вопрос:

Я пытаюсь использовать следующий CSS, и эффект наведения не работает, если я просматриваю HTML / CSS локально через liveserver в VSCode или просто открываю HTML-файл из проводника. Это также не работает, если я загружаю файлы HTML / CSS на сервер. Однако, если я помещаю точные HTML и CSS в CodePen, эффект наведения работает просто отлично.

Когда я просматриваю его локально или на сервере (где наведение не работает), и я переключаю состояние наведения в Chrome DevTools, он действует так, как будто для состояния наведения нет CSS, но если я переключаю состояние фокусировки, оно действительно работает, как ожидалось, и применяет CSS.

Почему этот эффект наведения работает в CodePen — здесь — https://codepen.io/stemlund/pen/BadGJZy , но не локально или при загрузке на сервер?

 .dot-indicators>* {
  cursor: pointer;
  border: 0;
  border-radius: 50%;
  aspect-ratio: 1;
  padding: 0.5em;
  background-color: red;
}

.dot-indicators>*:hover,
.dot-indicators>*:focus {
  background-color: green;
} 
 <div class="dot-indicators flex">
  <button aria-selected="true"><span class="sr-only">Slide title</span></button>
  <button aria-selected="false"><span class="sr-only">Slide title</span></button>
  <button aria-selected="false"><span class="sr-only">Slide title</span></button>
</div> 

Комментарии:

1. На странице, где он не работает, ваш CSS связан или находится на той же странице?

2. Тот же код размещен на веб-сервере здесь — stephenemlund.com/hover-help — CSS связан правильно. Наведение просто не работает так, как в codepen

3. не забывайте объявление doctype, ваш HTML-код отсутствует

4. @TemaniAfif — Ах, я этого не уловил. Я добавил doctype, и теперь код работает так, как ожидалось. Настолько странно, что ни один doctype не нарушает случайные объявления CSS. Я следил за онлайн-курсом, и в коде курса также не было doctype! Спасибо за помощь!