KSS Style Guide

4 #permalink Rejestracja - formularz do wypełnienia

Toggle example guides Toggle HTML markup

Ten kod HTML przedstawia formularz rejestracji użytkownika na stronie internetowej. Oto opis jego elementów:

Nagłówek h1:

Wyświetla tytuł "Zarejestruj się". Formularz form:

Formularz jest opakowaniem dla różnych pól i kontrolek, które użytkownik będzie wypełniał. Pole grupy informacji o użytkowniku

:

Jest to grupa pól, które zawierają informacje o użytkowniku. Posiada legendę "Informacje o tobie" opisującą grupę. Pole "Imię" input:

Typ "text" dla wprowadzania imienia. Atrybuty "placeholder", "name", "pattern", "required" i "autocomplete" pomagają w prawidłowym wprowadzaniu imienia. Pole "Nazwisko" input:

Typ "text" dla wprowadzania nazwiska. Atrybuty "placeholder", "name", "pattern", "required" i "autocomplete" pomagają w prawidłowym wprowadzaniu nazwiska. Pole "Nr telefonu" input:

Typ "tel" dla wprowadzania numeru telefonu. Atrybuty "placeholder", "name", "pattern", "required" i "autocomplete" pomagają w prawidłowym wprowadzaniu numeru telefonu. Pole "Adres email" input:

Typ "email" dla wprowadzania adresu email. Atrybuty "placeholder", "name", "required" i "autocomplete" pomagają w prawidłowym wprowadzaniu adresu email. Pole "Login" input:

Typ "text" dla wprowadzania loginu. Atrybuty "placeholder", "name", "required" i "autocomplete" pomagają w prawidłowym wprowadzaniu loginu. Pole "Hasło" input:

Typ "password" dla wprowadzania hasła. Atrybuty "placeholder", "name", "required", "autocomplete" i "new-password" pomagają w prawidłowym wprowadzaniu hasła. Pole "Miasto" select:

Pozwala wybrać miasto z dostępnych opcji. Atrybut "autocomplete" pomaga w uzupełnianiu miasta. Pole grupy płci fieldset:

Pozwala zaznaczyć płeć (mężczyzna lub kobieta) za pomocą przycisków typu "radio". Pole grupy otrzymywania ofert fieldset:

Pozwala zaznaczyć, czy użytkownik chce otrzymywać oferty na maila lub SMS za pomocą pól typu "checkbox". Pole domyślnego adresu fieldset:

Pozwala wybrać miasto, wprowadzić nazwę ulicy i numer mieszkania lub domu. Pole "Akceptacja regulaminu" input:

Pole typu "checkbox", które musi być zaznaczone, aby użytkownik mógł kontynuować rejestrację. Jest początkowo wyłączone (disabled) i zaznaczone (checked). Przycisk "Załóż konto" button:

Przycisk służy do zatwierdzenia formularza i złożenia wniosku o rejestrację. Przycisk "Resetuj" button:

Przycisk pozwala zresetować wprowadzone dane w formularzu do stanu początkowego. Formularz ten zawiera różne typy pól, takie jak tekstowe, hasła, radio i checkbox, które umożliwiają użytkownikowi wprowadzenie i wybór odpowiednich informacji potrzebnych do rejestracji.

opisy znaczników (z użyciem .selektor)

h1:

Tekst w nagłówku pierwszego poziomu (h1) jest wycentrowany poziomo (text-align: center). Jest odstęp 20 pikseli na górę (margin-top: 20px). Kolor tekstu jest biały (color: white). Jest odstęp 10 pikseli na dole (margin-bottom: 10px). form:

Tekst w formularzu jest wycentrowany poziomo (text-align: center). Istnieje odstęp 10 pikseli na wszystkich bokach (margin: 10px). label, input:

Etykiety (label) i pola wejściowe (input) mają odstęp 10 pikseli na górę (margin-top: 10px). Kolor tekstu dla etykiet i pól wejściowych jest jasnoszary (color: lightgray). input:

Pola wejściowe mają tło o kolorze ciemnoszarym (background-color: rgb(32, 28, 28)). Kolor tekstu w polach wejściowych jest biały (color: aliceblue). Pola wejściowe mają zaokrąglone rogi (border-radius: 20px). Tekst w polach wejściowych jest wycentrowany poziomo (text-align: center). #contact-topic:

Pole wyboru tematu (#contact-topic) ma tło o kolorze ciemnoszarym (background-color: rgb(32, 28, 28)). Kolor tekstu w polu wyboru tematu jest biały (color: aliceblue). Pole wyboru tematu ma ustaloną wysokość na 25 pikseli (height: 25px). button:

Przyciski (button) mają ciemnoszare tło (background-color: rgb(32, 28, 28)). Kolor tekstu na przyciskach jest biały (color: white). Przyciski mają ustaloną wysokość na 40 pikseli (height: 40px) i szerokość na 100 pikseli (width: 100px). Przyciski mają zaokrąglone rogi (border-radius: 20px). #reset:hover, #zaloz:hover:

To pseudoklasy :hover dotyczące konkretnych przycisków ("reset" i "zaloguj"). Gdy kursor najedzie na przycisk, zmienia się jego kolor na czerwony (dla "reset") lub zielony (dla "zaloguj"). Przyciski zmieniają rozmiar na 130% pierwotnej wielkości (scale: 1.3) po najechaniu kursorem. th, tr, table:

To style dla tabeli. Komórki nagłówków (th) i wierszy (tr) tabeli mają obramowanie o szerokości 2 pikseli i czarnym kolorze (border: 2px solid black). Tabela ma ustawione "łączenie" komórek (border-collapse: collapse), usuwając odstępy między komórkami. Tabela ma tło białe (background-color: #fff) i cień wokół niej (box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2)). th, td:

Komórki nagłówka (th) i danych (td) tabeli mają wewnętrzny odstęp 10 pikseli (padding: 10px). Mają jednopikselowe obramowanie komórek (border: 1px solid #ddd). Tekst w komórkach jest wycentrowany poziomo (text-align: center). tr:nth-child(even):

Co drugi wiersz (tr) tabeli ma tło w kolorze szaro-białym (background-color: #f2f2f2). th:

Komórki nagłówka (th) tabeli mają ciemnoszare tło (background-color: #181515). Kolor tekstu w komórkach nagłówka jest biały (color: #fff). footer:

Stopka (footer) ma stałą wysokość na 100 pikseli (height: 100px). Tło stopki ma kolor ciemnoszary (background-color: #333). Kolor tekstu w stopce jest biały (color: #fff). Tekst w stopce jest wycentrowany poziomo (text-align: center). Jest wewnętrzny odstęp 20 pikseli na górze (padding-top: 20px). body:

Treść strony jest wyświetlana w układzie flexbox, który jest konfigurowany jako kolumna (flex-direction: column). Działa on jako kontener dla wszystkich elementów na stronie. @media (max-width: 600px):

Jest to reguła media query, która aktywuje się, gdy szerokość okna przeglądarki wynosi maksymalnie 600 pikseli. W takim przypadku zachodzą pewne zmiany stylizacyjne, na przykład menu (#menu-toggle) jest wyświetlane jako flexbox, a nie jako rozwijane. Zmiany dotyczą także niektórych elementów flexbox i rozmiaru niektórych kontenerów.

Example

Zarejestruj się

Informacje o tobie








Zaznacz swoją płec mężczyzna Kobieta

Zaznacz gdzie chcesz otrzymywać oferty: Chcę otrzymywać oferty na maila
Chcę otrzymywać oferty na SMS
Domyślny adres


Akceptuję regulamin
Markup
<main>
<h1>Zarejestruj się</h1>
<form id="myForm">
  <fieldset>
    <legend>Informacje o tobie</legend>
    <label for="name">Podaj swoje imię</label>
    <input type="text" id="name" placeholder="Imię" name="name" pattern="[A-Za-ząćęłńóśźżĄĆĘŁŃÓŚŹŻ]+" required
      autocomplete="given-name"><br>
    <label for="nazwisko">Podaj swoje nazwisko</label>
    <input type="text" id="nazwisko" placeholder="Nazwisko" name="nazwisko" pattern="[A-Za-ząćęłńóśźżĄĆĘŁŃÓŚŹŻ]+"
      required autocomplete="family-name"><br>
    <label for="tel">Podaj numer telefonu</label>
    <input type="tel" id="tel" placeholder="Nr telefonu" name="tel" required pattern="[0-9]{9,15}"
      autocomplete="tel"><br>
    <label for="mail">Podaj adres email:</label>
    <input type="email" id="mail" name="mail" placeholder="email" required autocomplete="email"><br>
    <label for="login">Podaj swój login</label>
    <input type="text" id="login" name="login" placeholder="Login" required autocomplete="username"><br>
    <label for="haslo">Podaj swoje hasło</label>
    <input type="password" id="haslo" name="haslo" placeholder="haslo" required autocomplete="new-password"><br>
    <br>
    <label for="contact-topic">Wybierz swoje Miasto:</label>
    <select id="contact-topic" name="contact-topic" autocomplete="address-level1">
      <option value="Warszawa">Warszawa</option>
      <option value="Rzeszów">Rzeszów</option>
      <option value="Brak" disabled>Brak</option>
    </select><br>
    <br>
  </fieldset>
  <fieldset>
    <legend>Zaznacz swoją płec</legend>
    <input type="radio" name="plec1" value="mezczyzna">mężczyzna
    <input type="radio" name="plec2" value="Kobieta">Kobieta<br><br>
  </fieldset>
  <fieldset>
    <legend>Zaznacz gdzie chcesz otrzymywać oferty:</legend>
    <input type="checkbox" id="ofertyEmail" name="ofertyEmail" value="mail">Chcę otrzymywać oferty na maila<br>
    <input type="checkbox" id="ofertySMS" name="ofertySMS" value="sms">Chcę otrzymywać oferty na SMS
  </fieldset>
  <fieldset>
    <legend>Domyślny adres</legend>
    <label for="contact-topic">Wybierz swoje Miasto:</label>
    <select id="contact-topic2" name="contact-topic2" autocomplete="address-level1">
      <option value="Warszawa">Warszawa</option>
      <option value="Rzeszów">Rzeszów</option>
      <option value="Brak" disabled>Brak</option>
    </select><br>
    <label for="ulica">Ulica</label>
    <input type="text" id="ulica" name="ulca" placeholder="Podaj nazwę swojej ulicy" pattern="[a-zA-Z0-9]+" autocomplete="address-line1"><br>
    <label for="numerDomu">Numer</label>
    <input type="number" id="numerDomu" name="numerDomu" placeholder="Podaj numer mieszkania lub domu" min="1" ><br>
  </fieldset>
  <input type="checkbox" name="regulamin" value="regulamin" disabled checked>Akceptuję regulamin
  <br>
  <button type="submit" id="zaloz">Załóż konto</button>
  <button type="reset" id="reset">Resetuj</button>
</form>
</main>
Source: rejestracja.css, line 151