Przykładowy projekt z wykorzystaniem darmowej paczki MDB
Jakiś czas temu dodałem artykuł dotyczący zalet korzystania z paczek firmy MDBootstrap. Możecie go znaleźć tutaj.
Stworzyłem też projekt kafelkowego menu, które jest podobne do tego z Windows Phone z wykorzystaniem wyżej wymienionej technologii. Pozwólcie, że opiszę Wam proces jego tworzenia krok po kroku, by każdy laik mógł zrozumieć jak działają poszczególne elementy kodu i stworzyć coś takiego w swoim zakresie. Podkreślam, że będziemy korzystać z paczki MDB Free, którą możecie pobrać za darmo tutaj.
Efekt końcowy możecie zobaczyć na zdjęciu powyżej lub pod tym linkiem. Co ciekawe - polecam go sprawdzić na urządzeniu mobilnym, ponieważ kafelki układają się dosłownie jak w telefonach Microsoftu.
Krok 1: Wypakowujemy naszą paczkę, otwieramy w niej "index.html" za pomocą dowolnego edytora kodu oraz plik "style.css" znajdujący się w podfolderze "style".
Krok 2: Skupiamy się na sekcji body
.
Usuwamy cały content pomiędzy
komentarzami "Start your project here" i "End your project here".
Krok 3: Musimy podzielić stronę na części za pomocą grida. Tworzymy
element div
z klasą .container
, która będzie przechowywać zawartość naszej
strony. Następnie trzy takie elementy z klasą .row
. Definiujemy przez to trzy wiersze na naszej
stronie. W każdym wierszu tworzymy trzy kolumny, czyli elementy z klasą col
.
Krok 4: Do elementu z klasą .container
dopiszmy klasę
.justify-content-center
oraz do każdego elementu z klasą .row
klasy
.justify-content-center
i text-center
. Wyśrodkuje nam to wiersze, ich zawartość
oraz tekst. Na zdjęciu poniżej przedstawię to na przykładzie jednego wiersza, jednak musicie zrobić tak z
każdym.
Krok 5: Zdefiniujmy rozmiary naszych kolumn. Jeden wiersz możemy
podzielić na 12 części, jednak jeśli przekroczymy tę liczbę - nic się nie stanie, po prostu kolejne elementy
przeskoczą do nowego wiersza, na czym będzie nam zależało przy dostosowywaniu układu na urządzeniach
mobilnych. Klasa .col
spowoduje, że elementy będą się automatycznie dopasowywały do rozmiaru
strony, natomiast przy klasie .col-sm-x
, gdzie x
to liczba od 1 do 12, na
wszystkich urządzeniach powyżej 540px szerokości elementy przyjmą rozmiar x części naszego grida. Dodajmy do
każdej kolumny również klasę .waves-effect
, która doda nam ładną animację
po kliknięciu.
Pierwszy wiersz - pierwsza i druga kolumna z klasami .col-6
, .col-sm-4
oraz
.waves-effect
, a trzecia z klasami .col
, .col-sm-4
oraz
.waves-effect
.
Drugi wiersz - pierwsza i druga kolumna z klasami .col-6
, .col-sm-3
oraz
.waves-effect
, a trzecia z klasami .col
, .col-sm-6
oraz
.waves-effect
.
Trzeci wiersz - wszystkie kolumny z klasami .col
oraz
.waves-effect
.
Krok 6: Dodajmy zawartość do naszych kolumn. Do poszczególnych
elementów dopiszemy parę klas, które omówię poniżej, natomiast każdy będzie zawierał klasę
font-weight-bold
, która pogrubi nam tekst lub ikony.
Pierwszy wiersz - pierwsza kolumna z nagłówkiem pierwszego stopnia o zawartości "12 AM" wraz z klasami
.font-weight-bold
i .mt-5
(dodaje margines zewnętrzny od góry sprawiając, że nasze
elementy znajdą się na środku kolumny). Druga z ikoną budzika (możemy śmiało szukać i kopiować ikony z
dokumentacji MDB) o klasach .fa-4x
(powiększa tekst lub ikonę 4 razy) oraz
.mt-5
i paragrafem o zawartości "6:00" z dodatkowymi klasami .font-weight-bold
oraz .mt-2
, co lekko oddzieli nam tekst od ikony. Trzecia kolumna z pierwszym paragrafem o
klasach .mt-3
, .font-weight-bold
, .text-left
(wyrównuje tekst do
lewej krawędzi) i .fa-lg
(duży rozmiar ikony lub tekstu) oraz drugim paragrafem wraz z klasami
.font-weight-bold
, .text-right
(wyrównuje tekst do prawej krawędzi) i
.fa-4x
.
Drugi wiersz - pierwsza i druga kolumna z ikonami kolejno Twittera oraz YouTube'a o klasach
.mt-5
i .font-weight-bold
, wraz z paragrafami o treści kolejno "Twitter" i
"YouTube", każdy
o klasie .font-weight-bold
. Trzecia kolumna będzie zawierać projekt harmonogramu, czyli kolejno
paragraf o klasach .mt-3
, .font-weight-bold
i fa-2x
oraz zawartości
"Schedule", poniżej następny o klasie .font-weight-bold
i tekście "10:00 - 11:00 Meeting with
CEO", a na końcu trzeci zawierający ikonę plusa wraz z tekstem "Add new".
Trzeci wiersz - wszystkie kolumny z ikonami kolejno kalkulatora, Instagrama i kalendarza o klasach
.mt-5
oraz .font-weight-bold
, a pod nimi paragrafy o treści opisującej ikony,
czyli kolejno "Calculator", "Instagram", "Calendar" o klasie .font-weight-bold
.
W ten właśnie sposób stworzyliśmy nasz układ oraz zawartość menu. Pozostało nam jedynie je wystylizować językiem CSS.
Krok 7: Przechodzimy do naszego pliku style.css
i
wybieramy element o klasie .container
. Usuwamy mu wewnętrzne marginesy właściwością
padding: 0;
, a następnie ustawiamy jego tło właściwością background: url("link")
no-repeat top center fixed;
, gdzie url("link")
oznacza adres do naszego zdjęcia
(zamiast słowa "link" wklejamy adres url, ja użyłem tego),
no-repeat
sprawia, że nasze zdjęcie wypełnia element bez powtórzeń, top center
określa początkowe położenie tła (w tym wypadku góra i środek), a fixed
sprawia, że nasze tło
się nie przesuwa podczas scrollowania.
Krok 8: Wybieramy wszystkie wiersze zawarte w naszym elemencie o
klasie .container
i dodatkowo je środkujemy właściwością margin: 0 auto;
, by
zapobiec niepożądanym nierównościom (przykładowo w wypadku, gdy jeden wiersz nie wykorzysta pełnych 12
części grida i z jednej jego strony pozostanie dodatkowe miejsce).
Krok 9: Wybieramy wszystkie nasze kolumny, a następnie ustawiamy
odpowiedni kolor tekstu zawartego w nich właściwością color: #f0f8ff;
, ciągłą ramkę o grubości
1px i tym samym kolorze, co tekst właściwością border: 1px solid #f0f8ff;
i wysokość każdej
kolumny na 100px właściwością height: 180px;
.
Krok 10: Na koniec dodajemy tzw. media query dla ekranów o maksymalnej
szerokości 574px, gdzie po spełnieniu tego warunku pozbawimy nasz element o klasie .container
dodatkowego marginesu zewnętrznego z góry. Zrobiłem to z myślą o wyglądzie na urządzeniach mobilnych.
To wszystko, wasz projekt jest gotowy!