Html od podstaw

tło

Super User
Opublikowano: poniedziałek, 18, maj 2020 09:59

źródło:https://the-awwwesomes.gitbooks.io

Domyślnie elementy na stronie umieszczane są jeden za drugim (z uwzględnieniem wartości właściwości display). Czasem jednak zdarza się, że potrzebujemy uzyskać efekt nałożenia jednego elementu na drugi bądź przesunięcia. Na szczęście język CSS jest wyposażony w narzędzia, które nam to umożliwiają. Są to właściwości związane z pozycjonowaniem.

Do pozycjonowania służy właściwość position, która może przyjmować poniższe wartości:

  • static – jest to wartość domyślna dla każdego elementu, nie trzeba deklarować jej wprost.
  • relative – zmienia położenie elementu względem niego samego.
  • absolute – wyjmuje element z jego pierwotnego położenia i umieszcza go we wskazanym miejscu względem najbliższego kontenera, który ma zdefiniowane position: relative.
  • fixed – umieszcza element na stałej pozycji względem okna przeglądarki (viewport). Dobrym przykładem użycia jest menu na stałe "przyklejone" u góry strony.

Oprócz deklaracji position musimy również zadeklarować wartości współrzędnych, dzięki którym możemy precyzyjnie określić położenie naszego elementu: topbottomright oraz left.

Na prostych przykładach zobaczymy, jak opanować pozycjonowanie w CSS.

<div class="container">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item item-relative"></div>
  <div class="item"></div>
</div>
.item {
  width: 150px;
  height: 150px;
  margin: 5px;
  background: salmon;
}

.item-relative {
  background: lightblue;
  position: relative;
  top: -20px;
  right: 25px;
}

Powyżej przykład elementu wypozycjonowamego relatywnie (czyli względem samego siebie).

Pozycjonowanie absolutne wymaga od nas nieco ostrożności, jednak jeśli wiemy, jak działa, nie wpadniemy w żadną pułapkę.

<div class="container">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item item-absolute"></div>
  <div class="item"></div>
</div>
.item {
  width: 150px;
  height: 150px;
  margin: 5px;
  background: salmon;
}

.item-absolute {
  background: lightblue;
  position: absolute;
  top: -20px;
  right: 25px;
}

Powyższy element został wyjęty ze swojego miejsca (jak widać, nie pozostawia również po sobie wolnej przestrzeni – cóż za oszczędność!) i umieszczony zupełnie gdzie indziej, w prawym górnym rogu strony.

Jeśli używamy pozycjonowania absolutnego nieostrożnie, nasz element może wylądować w dość niespodziewanym miejscu. Musimy więc pamiętać, że każdy element z position: absolute jest pozycjonowany względem jakiegoś innego elementu. Takim odniesieniem jest najbliższy element, któremu nadaliśmy position: relative. Musimy też pamiętać, że element pozycjonowany absolutnie musi znajdować się wewnątrz elementu z position: relative.

<div class="item"></div>

<div class="item item-outer">
  <div class="item item-inner">
</div>

<div class="item"></div>
.item {
  width: 100%;
  height: 100px;
  margin: 5px 0;
  background: salmon;
}

/*
  Względem tego elementu będziemy
  pozycjonować inny element.
  Nie jest konieczne podawanie
  współrzędnych `top` itp.
  ponieważ chcemy, aby pozostał
  na swoim miejscu
*/
.item-outer {
  position: relative;
}

/*
  To element, który pozycjomujemy
  względem `.item-outer`
*/
.item-inner {
  width: 50px;
  height: 50px;
  background: lightblue;

  /* Zostanie umieszczony w prawym górnym rogu */
  position: absolute;
  top: 0;
  right: 0;
}
 

 

 

 

 

 

 

Super User
Opublikowano: poniedziałek, 18, maj 2020 09:49

Margines

Margines określa przestrzeń wokół elementów. Możliwe jest stosowanie wartości negatywnych. Standardy CSS pozwalają na ustawienie marginesu:

  • lewego "margin-left"
  • prawego "margin-right"
  • góry "margin-top"
  • dołu "margin-bottom"

W pliku CSS można zdefiniować margines w następujący sposób:

#kod {
margin: 10px 10px 10px 10px;
}

Powyższy kod określa margines, który wynosi 10 pikseli z każdej strony {margin:’margin-top’ ‘margin-right’ ‘margin-bottom’ ‘margin-left’} .

Jeśli chcemy aby margines był taki sam dla każdgo boku możemy użyć następującego kodu:

#kod {
margin: 10px;
}

Padding

Padding również określa przestrzeń wokół elementów. Standardy CSS pozwalają na następujące ustawienia:

  • lewy "padding-left"
  • prawy "padding-right"
  • góra "padding-top"
  • dół "padding-bottom"

#kod {
padding:’padding-top’ ‘padding-right’ ‘padding-bottom’ ‘padding-left’;
}

Różnica pomiędzy paddingiem i marginesem

Padding określa przestrzeń wokół danego elementu, np: <p> lub >div>, natomiast margines przestrzeń pomiędzy elementami.

źródło:http://www.garbnik.com

Super User
Opublikowano: poniedziałek, 18, maj 2020 09:42

 

KOLOR

Kolor tła ustalamy za pomocą background-color.

selektor { background-color: wartość; }

Wykaz podstawowych kolorów.

  • black (czarny)
  • white (biały)
  • red (czerwony)
  • blue (niebieski)
  • green (zielony)
  • silver (srebrny)
  • gray (szary)
  • yellow (żółty)
  • purple (purpurowy)
  • maroon (kasztanowy)
  • olive (oliwkowy)
  • lime (limonkowy)
  • aqua (morski)
  • teal (teal)
  • navy (granatowy)
p { background-color: yellow; }
Przykład

Tło koloru żółtego.

OBRAZEK W TLE

Obrazek jako tło ustalamy za pomocą background-image.

selektor { background-image: ścieżka do obrazka; }
body { background-image: url('/../images/arrow2.png'); }
Przykład

Kilka obrazków w tle.

selektor { background-repeat: ścieżka do obrazka1, ścieżka do obrazka2; }

POZYCJA

Pozycję obrazka w tle ustalamy za pomocą background-position.

selektor { background-position: wartość; }

Możemy zastosować wartości:

  • left - na lewo
  • right - na prawo
  • top - w górze
  • bottom - na dole
  • center - na środku
  • odległość np. px, em, cm, %
body { background-position: top right; }

POWTARZANIE

Powtarzanie obrazka w tle ustalamy za pomocą background-repeat.

selektor { background-repeat: ścieżka do obrazka; }

Możemy zastosować wartości:

  • repeat - powtarzanie w pionie i poziomie
  • repeat-x - powtarzanie w poziomie
  • repeat-y - powtarzanie w pionie
  • no-repeat - bez powtarzania
  • space - obrazki w tle i przestrzeń pomiędzy bez przycinania
  • round - obrazki w tle bez przycinania
body { background-repeat: repeat-x; }

POŁOŻENIE

Pozycję obrazka w tle ustalamy za pomocą background-position.

selektor { background-attachment: wartość; }

Możemy zastosować wartości:

  • scroll - tło przewijane (domyślne)
  • fixed - tło zablokowane
  • local - tło zablokowane względem elementu, w którym się znajduje
body { background-attachment: fixed; }

ROZMIAR

Rozmiar obrazka ustalamy za pomocą background-size.

selektor { background-size: wartość; }

Możemy zastosować wartości:

  • auto - rozmiar obrazka (domyślny)
  • cover - rozmiar obrazka zostanie zwiększony na szerokość elementu
  • contain - rozmiar obrazka zostanie zwiększony na wysokość elementu
  • piksele - rozmiar obrazka w pikselach
  • procenty - rozmiar obrazka w procentach
body { background-size: cover; }

POŁĄCZENIE WŁAŚCIWOŚCI

Kilka właściwości w jednej deklaracji.

selektor { background: wartość; }
body { background: blue url(../images/arrow2.png) top center repeax-y; }

źródło:http://www.kurshtmlcss.pl
Super User
Opublikowano: poniedziałek, 18, maj 2020 09:47

Krój czcionki: font-family

Ustawienie kroju (rodziny) czcionki - jako wartość podajemy nazwę czcionki. Obecnie często korzysta się z tzw. Google Fonts (czcionek Google), jednak ich ustawienie wymaga dołączenia dodatkowego arkusza stylów. Szczegóły w tym odcinku na YouTube. Zwróćmy też uwagę, że w wielu projektach krój czcionki warto ustawić w sekcji body - wówczas jednokrotne wpisanie font-family sprawia, iż ta rodzina czcionek będzie obowiązywała wszędzie w podstronie, dopóki w jakimś selektorze tego nie zmienimy.

body
{
font-family: Arial;
}

Rozmiar czcionki: font-size

Właściwość pozwalająca określić rozmiar tekstu. Często stosowane, zalecane jednostki wielkości czcionki to: px%emex. Niezalecane jednostki wartości to z kolei: ptcmmminpc. Więcej na temat jednostek przeczytasz tutaj. Można także użyć stałych tekstowych: xx-smallx-smallsmallmediumlargex-largexx-large (small = mały, medium = średni, large = duży, x = "extra", xx = "double extra") lub określić rozmiar relatywnie do elementu nadrzędnego: smaller (mniejszy rozmiar tekstu niż w elemencie nadrzędnym), larger (większy rozmiar).

p
{
font-size: 22px;
font-size: 2em;
font-size: x-small;
font-size: larger;
}

Waga czcionki: font-weight

Ustawiając wagę czcionki regulujemy "tłustość" tekstu. Możemy użyć stałych tekstowych: normal (standardowa grubość tekstu), bold (czcionka pogrubiona). Oprócz tego możemy użyć wartości liczbowej od 100 do 900, o ile czcionka obsługuje poszczególne grubości. Wartości zmieniamy zawsze tylko o pełne 100, przy czym 400 odpowiada wartości normal, a 700 to czcionka bold. Przykładowe zobrazowanie niektórych wartości liczbowych odnajdziemy poniżej (zrzut ekranu z Google Fonts).

Wartości liczbowe wagi czcionki

Istnieje także możliwość określenia rozmiaru relatywnie do elementu nadrzędnego: lighter (mniejsza grubość tekstu), bolder (tekst grubszy niż w elemencie nadrzędnym).

p
{
font-weight: bold;
font-weight: 700;
font-weight: lighter;
}

Stylizacja czcionki: font-style

Nieco rzadziej obecnie używana właściwość - mamy wartości normalitalic albo oblique. Czcionka italic jest (najprościej mówiąc) delikatnie pochylona w prawo, zaś oblique nadaje jeszcze większe pochylenie. Poniżej przedstawiono kolejno ten sam akapit tekstu, jednak zastosowano inny font-style – kolejno: normalitalicoblique.

I have no special talent. I am only passionately curious. Albert Einstein
I have no special talent. I am only passionately curious. Albert Einstein
I have no special talent. I am only passionately curious. Albert Einstein

Wyrównanie tekstu: text-align

Atrybut ten pozwala nam określić w jaki sposób wewnętrzna zawartość elementu blokowego (w tym na przykład tekst) zostanie ułożona w tym pojemniku. Popularne wartości to przede wszystkim: leftcenterrightjustify. Ta ostatnia to tzw. justowanie tekstu, czyli tekst będzie wówczas tak poukładany, żeby zajmował całą dostępną przestrzeń.

Inne możliwe wartości to: justify-all (to samo co justify, z tym wyjątkiem, że ostatnia linia tekstu także ulegnie takiemu wyrównaniu), start (to samo co left, chyba że tekst ma być czytany od prawej do lewej (w niektórych językach tak jest - decyduje o tym wartość właściwości direction: rtl; albo direction: ltr;), end (wyrównanie w prawo, równie dopasowujące się do wartości direction i w razie potrzeby zmieniające się na lewe), match-parent (wartość dopasowana do elementu nadrzędnego i również reagująca na wartość direction).

p
{
text-align: center;
}

Ilustracja poniżej przedstawia cztery podstawowe sposoby ułożenia zawartości:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc in mauris lorem. Aliquam ac ullamcorper lorem. Duis sollicitudin et diam tristique bibendum. Aenean auctor sollicitudin porttitor.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc in mauris lorem. Aliquam ac ullamcorper lorem. Duis sollicitudin et diam tristique bibendum. Aenean auctor sollicitudin porttitor.

text-align: left; text-align: right;

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc in mauris lorem. Aliquam ac ullamcorper lorem. Duis sollicitudin et diam tristique bibendum. Aenean auctor sollicitudin porttitor.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc in mauris lorem. Aliquam ac ullamcorper lorem. Duis sollicitudin et diam tristique bibendum. Aenean auctor sollicitudin porttitor.

text-align: center; text-align: justify;

Zmiana wielkości liter: text-transform

CSS umożliwia zmianę oryginalnej wielkości liter, co szczególnie przydaje się w kontekście pozycjonowania (litery nie muszą być zapisane jako duże w kodzie HTML, aby móc zostać zaprezentowane jako takie w przeglądarce). Możliwe wartości to przede wszystkim: uppercase (zamień wszystkie litery na duże), lowercase (zamień wszystkie litery na małe), capitalize (wielkie litery na początku wyrazów), none (brak zamiany wielkości).

p
{
text-transform: uppercase;
}

Poniżej przedstawiono kolejno ten sam akapit tekstu, jednak zastosowano inny rodzaj transformacji tekstu – kolejno: uppercaselowercasecapitalize:

IT DOES NOT MATTER HOW SLOWLY YOU GO AS LONG AS YOU DO NOT STOP. CONFUCIUS
it does not matter how slowly you go as long as you do not stop. confucius
It Does Not Matter How Slowly You Go As Long As You Do Not Stop. Confucius

Dekoracja tekstu: text-decoration

Właściwość przydatna do ustalenia sposobu dekoracji tekstu (z użyciem linii podkreślającej, przekreślającej czy znajdującej się nad tekstem), w praktyce często stosowana dla określania wyglądu linków (z racji tego, że linki często bywają podkreślone, choć absolutnie nie tylko do tego może posłużyć). Możliwe sposoby dekoracji określone są przez subatrybuty:

  • text-decoration-color (kolor linii wyróżniającej),
  • text-decoration-style (rodzaj linii: soliddoubledotteddashedwavy),
  • text-decoration-line (położenie linii: underlineoverlineline-throughblinkunderline overlinenone).

Bardzo często w kodzie CSS stosujemy jednak zapis skrócony, czyli jedynie z użyciem zapisu text-decoration, odpowiednio dobierając liczbę parametrów.

p
{
text-decoration: underline;
text-decoration: underline wavy red;
}

Odstęp pomiędzy znakami: letter-spacing

Odstęp taki możemy określić z użyciem od jednej do trzech wartości (kolejno: minimalny, maksymalny i optymalny odstęp między znakami):

p
{
letter-spacing: 2px;
letter-spacing: 0.5em;
letter-spacing: 0.5em 1em 0.7em;
}

Wysokość linii tekstu: line-height

Ustawiamy wysokość pojedynczej linii tekstu, z użyciem: stałej normal, liczby określającej mnożnik aktualnej wysokości, wysokości podanej w procentach lub pikselach.

p
{
line-height: 2;
line-height: 25px;
line-height: 140%;
}

źródło: https://miroslawzelent.pl
Super User
Opublikowano: poniedziałek, 18, maj 2020 09:37

Wybór czcionki

Wcześniej wspominaliśmy o tym, że aby czcionka została prawidłowo wyświetlona na naszym ekranie, musi być ona najpierw zainstalowana na naszym systemie operacyjnym. Można oczywiście samemu pobierać i instalować czcionki, ale większość użytkowników tego nie robi. To skąd mamy wiedzieć, czy dana czcionka zostanie prawidłowo wyświetlona na urządzeniu naszego odbiorcy, skoro na każdym systemie operacyjnym mamy inny zestaw dostępnych czcionek? Tu właśnie pojawia się problem zgodności pomiędzy systemami operacyjnymi.

Możemy to w zasadzie obejść na dwa sposoby. Możemy użyć czcionek, które są dostępne na większości urządzeń (ang. Web Safe Fonts), bądź możemy dodać konkretną czcionkę na naszą stronę internetową, tak aby każdy użytkownik bez konieczności instalowania, mógł z niej korzystać na naszej stronie. Zapoznajmy się z tzw. bezpiecznymi czcionkami oraz sposobami dodawania czcionek na stronę.

Web Safe Fonts

Czcionki, które występują na większości urządzeń są bezpiecznymi czcionkami do używania w sieci (ang. Web Safe fonts). Czcionek tych możemy używać nie martwiąc się o to, że nie zostaną one prawidłowo wyświetlone na różnych urządzeniach.

font-family: Arial;
font-family: 'Century Gothic';
font-family: 'Courier New';
font-family: 'Copperplate Gothic Light';
font-family: Georgia;
font-family: Impact;
font-family: 'Lucida Console';
font-family: 'Lucida Sans Unicode';
font-family: 'Palatino Linotype';
font-family: Tahoma;
font-family: 'Times New Roman';
font-family: 'Trebuchet MS';
font-family: Verdana;
Arial
Century Gothic
Courier New
Copperplate Gothic Light
Georgia
Impact
Lucida Console
Lucida Sans Unicode
Palatino Linotype
Tahoma
Times New Roman
Trebuchet MS
Verdana