*.html można uruchomić lokalnie przez wstukanie do niej ścieżki do tegoż pliku.
<nazwa [atrybut-n="wartość-n"]n>slot</nazwa>
<span class="font-bold text-xl" id="hello" title="Hello message">
Hello there!
</span>spanclass z wartością font-bold text-xlid z wartością hellotitle z wartością Hello messageHello there!Wyrenderowana zostanie oczywiście tylko fraza Hello there!, ale pozostałe informacje są istotne dla silnika przeglądarki, który do tego szkieletu może dodać reguły CSS lub skrypty JS.
<nazwa [atrybut-n="wartość-n"]n>
<img src="./logo.png" class="w-72" alt="Logo">
imgsrc z wartością ./logo.pngclass z wartością w-72title z wartością LogoWyrenderowany zostanie oczywiście tylko obrazek (lub napis Logo jeżeli obrazka nie można pobrać), ale pozostałe informacje ponownie są istotne dla silnika przeglądarki, który do tego szkieletu może dodać reguły CSS lub skrypty JS.
src może określić źródło obrazka w img lub adres URL załączanej strony w iframe, ale dodane do span nie za wiele zrobi.
id, zestaw klas class czy stylowanie style - są domyślnie dostępne we wszystkich tagach.
<a href="https://blumilk.pl/" target="_blank">
Blumilk sp. z o.o.
</a>a to (niegdyś) podstawa sieci www: tworzy linki, które po kliknięciu przenoszą na stronę określoną w href; atrybutem target można sterować zachowaniem przeglądarki po kliknięciu
<div class="flex flex-col lg:flex-row">
<div class="flex-1">1</div>
<div class="flex-1 flex">
<div class="flex-1">2</div>
<div class="flex-1">3</div>
</div>
</div>div to podstawa szkieletu stron www: to kontener, który można ostylować i do którego można włożyć kolejne kontenery
<table class="table-auto">
<thead>
<tr>
<th>id</th>
<th>name</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Jan Kowalski</td>
<td>
<button (...)>
</td>
</tr>
</tbody>
</table>table służy do tworzenia tabel... i tylko tabel!
<form method="post">
<input type="text" name="name">
<input type="email" name="email">
<input type="submit" value="Wyślij">
</form>form zbiera pola formularza input
selektor { [atrybut-n: wartość-n;]n }
selektor { ... }
span {} nada styl wszystkim węzłom typu span w HTML-u.
.selektor { ... }
.text-bold {} nada styl wszystkim węzłom, które w atrybucie class będą miały text-bold.
#selektor { ... }
#logout {} nada styl elementowi, który w atrybucie id będzie miały logout.
selektor.selector { ... }
span.text-bold {} nada styl wszystkim węzłom typu span, które w atrybucie class będą miały text-bold.
selector > selektor { ... }
ul.sidebar > li {} nada styl wszystkim węzłom typu li, które są bezpośrednimi dziećmi jakiekogolwiek węzła typu ul z klasą sidebar.
selector selektor { ... }
ul.sidebar li {} nada styl wszystkim węzłom typu li, które są dziećmi jakiekogolwiek węzła typu ul z klasą sidebar.
selektor + selector { ... }
div + p {} nada styl wszystkim węzłom typu p, które jako pierwsze występują po div.
selector, selektor { ... }
span, p {} nada styl wszystkim węzłom typu span oraz p.
* { ... }
* {} nada styl wszystkim węzłom.
selektor:pseudoklasa { ... }
#contact:hover {} nada styl elementowi o identyfikatorze contact, ale dopiero, gdy użytkownik najedzie na niego myszką.
selector[atrybut="wartość"] { ... }
a.link[target="_blank"] {} nada styl wszystkim węzłom typu a z klasą link i atrybutem target ustawionym na _blank.
selector:not(selector) { ... }
div:not(.list) {} nada styl wszystkim węzłom typu div, które nie mają nadanej klasy list.
body > div.footer li, li.item, footer *:hover { color: Red; }
span.text-red { color: Red; }
span.text-green { color: rgba(0, 255, 0, 255); }
span.text-blue { color: #0000FF; }color odpowiada za kolor tekstu, ale także krzywych w obiektach SVG; kolor można przedstawić słowem, w formie RGB lub RGBA, a także jako HEX
div.w-full { width: 100vw; }
div.w-half { width: 50%; }
div.w-100px { width: 100px; }
div.w-8em { width: 8em; }width i height odpowiadają za wymiary, które można podawać w proporcji do szerokości ekranu, procentach, pikselach lub jednostce relatywnej do wielkości fontu.
div.padded { padding: 1em; }
div.x-padded { padding: 0 1em; }
div.left-padded { padding: 0 0 0 1em; }
# div.left-padded { padding: 0; padding-left: 1em; }
div.margined { margin: 1em; }padding i margin to marginesy wewnętrzne i zewnętrzne kontenerów; przyjmują wartości w specyficzny sposób liczony "od góry zgodnie ze wskazówkami zegara"
div.hidden { dislay: hidden; }
div.fixed { display: fixed; top: 0; right: 0; padding: 1em; }
div.flex { display: flex }display manipuluje wyświetlaniem elementu
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Bardzo prosty formularz</title>
</head>
<body>
<div>
<div>
<label for="email">Email address</label>
<input type="email" id="email" placeholder="name@example.com">
</div>
<div>
<label for="about">About you</label>
<textarea id="about" rows="3"></textarea>
</div>
</div>
</body>
</html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Bardzo prosty formularz (Bootstrap)</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"
rel="stylesheet">
</head>
<body>
<div class="w-25 p-3">
<div class="mb-3">
<label for="email" class="form-label">Email address</label>
<input type="email" class="form-control" id="email" placeholder="name@example.com">
</div>
<div class="mb-3">
<label for="about" class="form-label">About you</label>
<textarea class="form-control" id="about" rows="3"></textarea>
</div>
</div>
</body>
</html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Bardzo prosty formularz (Tailwind)</title>
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body>
<div class="w-1/4 p-3">
<div class="mb-3">
<label for="email" class="block text-sm font-medium leading-6 text-gray-900">
Email address
</label>
<div class="mt-2">
<input type="email" name="email" id="email" class="block w-full
rounded-md border-0 py-1.5 px-3 text-gray-900 shadow-sm ring-1
ring-inset ring-gray-300 placeholder:text-gray-400
focus:ring-2 focus:ring-inset focus:ring-indigo-600
sm:text-sm sm:leading-6" placeholder="name@example.com">
</div>
</div>
<div class="mb-3">
<label for="comment" class="block text-sm font-medium leading-6 text-gray-900">
About you
</label>
<div class="mt-2">
<textarea rows="4" name="comment" id="comment" class="block w-full
rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1
ring-inset ring-gray-300 placeholder:text-gray-400
focus:ring-2 focus:ring-inset focus:ring-indigo-600
sm:text-sm sm:leading-6"></textarea>
</div>
</div>
</div>
</body>
</html>
class="p-0 md:p-4 lg:p-8 xl:p-10"