W CSS zapis input[type=number] to selektor elementu połączony z selektorem atrybutu.
- Część input zawęża wybór do elementów formularza typu input.
- Część [type=number] oznacza: "tylko te elementy, które mają atrybut type równy number".
Dlatego deklaracja background-color: Brown; zadziała wyłącznie na pola, które są zdefiniowane jako wejście liczbowe (np. <input type="number">). Nie zależy to od tego, co użytkownik wpisze w trakcie (to nie jest selektor stanu ani zdarzenia), tylko od samej definicji elementu w HTML.
Dlaczego pozostałe odpowiedzi są błędne?
- "wszystkich tekstów na stronie" – reguła dotyczy elementów input, a nie tekstu dokumentu; nie ma tu selektora typu body ani klas odnoszących się do treści.
- "wszystkich pól edycyjnych" – brakowałoby wtedy warunku [type=number]. Obecny zapis ogranicza działanie tylko do jednego typu pola.
- "pól edycyjnych, gdy użytkownik wpisze do nich dowolną cyfrę" – CSS selektorem atrybutu nie sprawdza "czy wpisano cyfrę". Do stylowania zależnego od stanu używa się np. pseudoklas (takich jak fokus) lub walidacji/JS, ale to inny mechanizm.
Wskazówka egzaminacyjna: czytaj selektor od lewej do prawej: co wybieram (input), a potem jaki warunek musi spełniać (type=number). To zwykle wystarcza, by poprawnie ocenić zasięg działania reguły.