Kurs języka HTML i CSS

Poradnik webmastera

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Figury geometryczne

Czworokąty

Email Drukuj PDF

Tematy: Trójkąty | Owale | Czworokąty | Wielokąty

Prostokąt

Punktem wyjścia jest naturalnie prostokątny pojemnik, który możemy przekształcać na rozmaite sposoby, tworząc z niego czworokąty.

div.prostokat
{
width:100px;
height:200px;
background-color:khaki;
}

Kwadrat

Kwadrat jest szczególnym przypadkiem prostokąta, w którym wszystkie boki są równe.

div.kwadrat
{
width:100px;
height:100px;
background-color:khaki;
}

Równoległobok

Równoległobok to czworokąt, ktory ma dwie pary równoległych boków. Każdy równoległobok można skonstruować za pomocą kilku połączonych ze sobą trójkątów, jednak do ich tworzenia powinniśmy stosować transformacje dostępne w specyfikacji CSS3. Na razie (marzec 2011) obsługują je, z użyciem prefiksów, Firefox, Opera i Chrome - Internet Explorer 9 RC1 jeszcze nie potrafi ich wyświetlać.

Równoległobok o pochylonych bokach górnym i dolnym (w przykładzie stosujemy jeszcze dodatkowe marginesy górny i dolny, aby obiekt na nachodził na elementy przed nim i po nim). Pochylenie uzyskujemy za pomocą transform:skew(Xdeg,Ydeg)

div.rownoleglobok1
{
width:200px;
height:100px;
background-color:khaki;
-webkit-transform:skew(0deg,20deg); 
-moz-transform:skew(0deg,20deg); 
-o-transform:skew(0deg,20deg); 
transform:skew(0deg,20deg); 
}

Równoległobok o pochylonych bokach lewym i prawym.

div.rownoleglobok2
{
width:200px;
height:100px;
background-color:khaki;
-webkit-transform:skew(30deg,0deg); 
-moz-transform:skew(30deg,0deg); 
-o-transform:skew(30deg,0deg); 
transform:skew(30deg,0deg); 
}

Romb

Romb to czworokąt o równych bokach, ale niekoniecznie równych kątach (kwadrat jest szczególnym przypadkiem rombu, o kątach 900).

Romb możemy zbudować z kwadratu za pomocą pochylenia boków o ten sam stopień, aby zachować równą ich długość. Mamy jednak ograniczone możliwości ustawiania rombu w wybranej pozycji.

div.romb1
{
width:100px;
height:100px;
background-color:khaki;
-webkit-transform:skew(20deg,20deg); 
-moz-transform:skew(20deg,20deg); 
-o-transform:skew(20deg,20deg); 
transform:skew(20deg,20deg); 
}

Inny sposób to wykorzystanie obramowań (pokazany w rozdziale o trójkątach) i treści automatycznie generowanej za pomocą pseudoklasy :before lub :after.

Najpierw tworzymy "kopertę".

div.koperta
{
width:0px;
height:0px;
position:relative; left:150px;
border-left: 60px solid red;
border-top: 30px solid blue;
border-right: 60px solid green;
border-bottom: 30px solid brown;
}

Następnie dopisujemy styl z pseudoklasą :before, dopasowując jego położenie tak, aby kolejna koperta poprzedzałą wyjściową.

div.koperta:before
{
content:"";
width:0px;
height:0px;
position:absolute; left:-180px; top:-30px;
border-left: 60px solid red;
border-top: 30px solid blue;
border-right: 60px solid green;
border-bottom: 30px solid brown;
}

W kolejnym kroku środkowym trójkątom nadajemy ten sam kolor, a zewnętrznym przezroczystość.

Możemy swobodnie modyfikować rozmiary rombu, jak też obracać go.

Trapez

Trapez to figura o jednej parze boków równoległych.

Trapez równoramienny

W konstrukcji wykorzystujemy obramowania, podobnie jak w przypadku trójkątów, ale tym razem przyjmujemy dodatnią szerokość pojemnika. Po wygaszeniu (w tym przykładzie) górnego obramowania i przyjęciu identycznych wielkości lewego (czerwone) i prawego (zielone) obramowania uzyskujemy trapez równoramienny (kolor khaki). Gdybyśmy przyjęli wartość transparent dla lewego i prawego obramowania, trapez byłby oczywiście widoczny bez tych obramowań.

div.trapez
{
width:100px;
height:0px;
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-bottom: 100px solid khaki;
border-top: 0px solid khaki;
}

Trapez różnoramienny

Przyjmując wartości poprzedniego przykładu, ale różnicując prawe i lewe obramowanie, uzyskujemy trapez dowolny.

div.trapezdowolny
{
width:100px;
height:0px;
border-left: 30px solid transparent;
border-right: 70px solid transparent;
border-bottom: 100px solid khaki;
border-top: 0px solid khaki;
}

Trapez prostokątny

Przyjmując wartość lewego obramowania 0, uzyskujemy trapez prostokątny - oczywiście równie dobrze wartość 0 można przyjąć dla prawego obramowania.

div.trapezprostokatny
{
width:100px;
height:0px;
border-left: 0px solid transparent;
border-right: 70px solid transparent;
border-bottom: 100px solid khaki;
border-top: 0px solid khaki;
}

Trapezoid

Trapezoid to figura niemająca żadnej pary boków równoległych.

div.trapezoid
{
width:0px;
height:0px;
position:relative; left:100px;
border-left: 30px solid transparent;
border-top: 50px solid transparent;
border-right: 70px solid khaki;
border-bottom: 100px solid khaki;
}

Deltoid

Deltoid to figura o dwóch parach kolejnych boków równych - tworzy "latawiec", co widać zwłaszcza po obróceniu figury o 45 stopni.

div.deltoid
{
width:0px;
height:0px;
position:relative; left:100px;
border-left: 30px solid transparent;
border-top: 30px solid transparent;
border-right: 100px solid khaki;
border-bottom: 100px solid khaki;
-webkit-transform:rotate(45deg);
-moz-transform:rotate(45deg);
-o-transform:rotate(45deg);
transform:rotate(45deg);
}
 

CSS. Tworzenie nowoczesnych stron WWW.

CSS3. Tworzenie nowoczesnych stron WWW
(czerwiec 2012)

HTML5 i CSS3. Standardy przyszłości

HTML5 i CSS3
Standardy przyszłości

CSS3. Szybki start. Wydanie V

CSS3. Szybki start.
Wydanie V