Poznaj Techniki Pracy z UI w Figma
4 godz. 34 min · Figma · UI, UX i Webdesign
Mariusz CzepiecTen kurs jest świetnym rozwiązaniem nie tylko dla początkujących ale również dla osób, które już od jakiegoś czasu pracują w branży. Unikalne połączenie tematów jest doskonałą okazją do nauki nowych praktycznych umiejętności, a także do uporządkowania wiedzy i podniesienia swoich umiejętności na kolejny poziom. Jedyne czego potrzebujesz to podstawowa umiejętność obsługi Figmy.
Funkcja padding pozwala nam
kontrolować to, w jaki sposób wyświetlane są elementy wewnątrz autolayout'u.
Przykładowo, jeżeli chcemy zaprezentować w
box'ie tekst, to normalnie byłby on wyświetlony od krawędzi do krawędzi.
Dzięki ustawieniu puddingu w moim przypadku są to 32 pixele.
Tekst jest oddalony od krawędzi,
dzięki czemu łatwiejsze jest czytanie, a całość wygląda bardziej estetycznie.
Wiele osób na
padding mówi margines, ustaw margines, ustawiłem margines na 32 pixele.
Chciałbym, abyście zapamiętali, że jest to padding.
Ustawiliśmy padding na 32 pixele.
Dlaczego to jest tak ważne?
Dlatego, że tak jak rozmawialiśmy
wcześniej, sama funkcja autolayout ma pewne odzwierciedlenie w kodzie HTML/CSS,
ogólnie używaniu Figm'y do projektowania web designu sprawia, że praca developerów
jest łatwiejsza, ponieważ to co zaprojektujemy w Figm'ie jest dużo
łatwiejsze do przeniesienia w kodzie niż projekt np. zrobiony
w Photoshopie czy Illustratorze, a niektórzy wciąż tak projektują.
Ta łatwość w przenoszeniu projektu z Figm'y do kodu wynika z tego, że wiele funkcji
się pokrywa i tak jest również w przypadku funkcji padding.
Funkcja padding istnieje w kodzie HTML/CSS.
Działa tak samo jak w Figm'ie, tzn.
odpowiada za nazwijmy to wewnętrzny marginesy w box'ie.
Natomiast w HTML'u istnieje funkcja marginesu, margin.
Jest to funkcja, która odpowiada za przestrzeń wokół elementu.
Czyli coś, co my nazywamy marginesem, czyli przestrzeń wewnątrz.
Poprawnie powinniśmy nazywać padding,
to jest padding, a przestrzeń, która znajduje się
na zewnątrz w kodzie HTML nazywa się marginesem, margin.
Na ten moment funkcji margin nie ma jeszcze w Figm'ie.
Mam nadzieję, że się może kiedyś pojawi.
Natomiast dopóki jej nie będzie, pewnym rozwiązaniem,
obejściem tego braku jest to, aby
element, któremu chcemy nadać i padding i margin zamknąć, właśnie
najpierw w pierwszy autolayout, w którym ustawimy padding, a taki autolayout
zamknąć w kolejne autolayout, który będzie naszym marginesem, margin.
Spróbujmy stworzyć taki prosty moduł na potrzeby naszego projektu.
W trakcie tego ćwiczenia przygotujemy sobie kolejny moduł do naszej strony.
Będzie to element oparty o typografię.
Na pewno będzie to duży, wyrazisty element na naszej stronie.
Pod tekstem umieszczę sobie przycisk.
I zamknę wszystko w autolayout. Za pomocą wearables
ustawiam gap w autolayout'cie.
Oraz dodaje
lewy i prawy padding, czyli w naszym module z tekstem ustawiliśmy padding.
Dzięki temu tekst jest ładnie oddalony od krawędzi.
Mamy to światło.
Ale chciałbym, aby mój element po
osadzeniu w projekcie miał jeszcze dodatkową przestrzeń nad i pod modułem.
Większą przestrzeń niż prawdopodobnie będzie ona wynikała z wertykalnego gap'u.
Czyli tu mamy nasz manifest.
Który ma nadany zarówno horyzontalny, jak i wertykalny padding.
Ale chciałbym, żeby jeszcze pojawił się górny i dolny margines.
Więc zamykam swój manifest w autolayout.
Zmieniam horyzontalny padding na 0.
Natomiast wertykalny
ustawiam na 128.
Teraz, jeżeli ten element umieszczę w strukturze projektu.
Teraz padding ustawiony w ramach
kontenera manifesto będzie padding'iem dla modułu, natomiast padding ustawiony
w ramach kontenera manifesto + margin będzie pełnił właśnie rolę marginesu.
Upewniam się jeszcze, że mój element jest responsywny.
Nie jest.
Sprawdzam i tekst jest ustawiony na fixed, więc zmieniam na fill container.
I co się teraz stało?
No to czego się powinienem spodziewać.
Specjalnie czasem popełniam takie błędy, abyście Wy byli świadomi, że
w przypadku Waszych projektów może się zdarzyć bardzo podobna rzecz.
Więc jeżeli zaistnieje u Was podobna sytuacja, że nagle, kiedy zmienicie
horizontal resizing z fixed na hug bądź fill container, znajdzie się coś dziwnego.
Należy na spokojnie prześledzić strukturę
autolayout'ów i wtedy bardzo szybko dojdziemy do tego, co się stało.
A więc zaznaczam nadrzędny
kontener manifesto + margin i widzimy, że ma on ustawione
horizontal resizing na hug, czyli dopasuje się do zawartości w środku.
W środku znajduje się kolejny kontener manifesto, który ma również ustawiony
resizing na hug, czyli też dostosuje się do tego co jest w środku.
A w środku mamy pole tekstowe,
które wypełni całą szerokość kontenera, czyli wypełni taką szerokość jaką mamy.
Jeżeli będę przeglądał dokładnie całą
strukturę, okaże się, że gdzieś w tej strukturze, gdzieś na dole jest nasz
przycisk i to on w tym momencie odpowiada za to, jaka jest szerokość
wszystkich kontenerów, ponieważ on ma na stałe nadaną szerokość.
Ona jest co prawda na hug, ale wynika z długości tekstu, szerokości strzałki oraz
wszystkich pozostałych wymiarów w ramach przycisku.
A więc teraz, żeby to naprawić, tak
naprawdę najlepszym rozwiązaniem jest po pierwsze ustawienie sobie jakiejś
stałej szerokości dla komponentu z manifestem, ustawię 1440.
Następnie komponentu manifestu + margin ustawiam na 1440.
Następnie komponent z manifestem ten docelowy już zmieniam na fill container.
Wewnątrz mamy tekst ustawiony również na fill container.
Chciałbym, żeby jednak przycisk był na
środku, więc jeszcze zmieniam wyrównanie i gotowe.
Mamy kolejny moduł do naszego projektu,
który poza padding'iem posiada również margines.