Tworzenie gradientu na stronie z pomocą CSS3
Model pudełkowy jest jednym z najpopularniejszych sposobów budowania stron. Jak sama nazwa mówi składa się on z pudełek czyli mamy np. jeden duży kontener a w nim umieszczone elementy w kolejnych mniejszych kontenerach.
Z pomocą box-sizing możemy zmienić sposób interpretacji domyślnego modelu pudełkowego CSS. Brzmi trochę dziwnie, ale zachwalę wam się rozjaśni w głowach o co chodzi.
Jak z pewnością już zauważyliście kiedy dodajemy do jakiegoś kontenera obramowania lub padding zmienia on swoje rozmiary. Jednym słowem staje się przeważnie większy. Taka sytuacja może spowodować, że jeśli mamy obok siebie kilka kontenerów tworzących np. kolumny przestaną się one obok siebie mieścić. W efekcie zamiast być obok siebie mogą np. ustawić się w pionie jeden pod drugim. A to nie koniecznie jest coś czego chcemy. Powodem tej sytuacji jest właśnie domyśle ustawienie box-sizing.
Domyślnym ustawieniem box-sizing jest content-box. To właśnie dlatego wszystkie dodatkowe elementy jak:
Powodują zwiększenie rozmiaru kontenera. Przy tym ustawieniu obiekty rozszerzają się na zewnątrz a nie w obrębie obiektu. Co za tym możemy z tym zrobić? Naturalnie zmienić ustawienia tej zmiennej i zobaczyć czy efekt końcowy spełnia nasze oczekiwania.
box-sizing może posiadać następujące właściwości:
box-sizing: content-box | border-box | padding-box; Czyli oprócz naszej domyślnej wartości dysponujemy także 2 innymi.
Jak już wspomniałam jest to domyślny styl ustawiony w przeglądarkach internetowych. Brane są w nim pod uwagę właściwości takie jak width i height (czyli szerokość i wysokość), ale już nie border, margin lub padding. Dlatego obiekt powiększa swoje wymiary.
Kolejna własność również bierze pod uwagę width i height oraz dopełnienie (padding). Jednak w dalszym ciągu nie bierzemy pod uwagę obramowania (border) ani marginesu (margin). O te właściwości może zostać zwiększony rozmiar obiektu.
Własności ta zawiera width, height, dopełnienie (padding) oraz obramowanie, jednak już nie margines.
Teraz by lepiej je zrozumieć przejdziemy do przykładów. Na początek zbudujemy 2 identyczne kwadraty o wymiarach:
width: 100px;
height: 100px;
border: 8px solid blue;
padding: 30px; Jak widać są one identyczne. Teraz to zmienimy poprzez zmianę wartości box-sizing.
box-sizing: content-box;
box-sizing: border-box;
Jak widać różnica w rozmiarach jest całkiem spora.
Jak pewnie już zauważyliście własność padding powoduje zwiększenie wewnętrznej przestrzeni poprzez rozszerzenie kontenera. W efekcie jest to dość uciążliwe dla stron szczególnie dla responsywnych, których komórki posiadają wartości w „%”. Dodając „box-sizing: border-box” zaczynamy się jednak ograniczać do samego kontenera przez co jest nam łatwiej obliczyć wymiary.
Normalnie wygląda to tak:
rozmiar kontenera + padding = szerokość
Jeżeli zastosujemy tą właściwość:
rozmiar kontenera = padding + reszta przestrzeni w środku = szerokość
Jak zawsze właściwość ta nie jest obsługiwana przez wszystkie przeglądarki internetowe.
Zapraszam też do zapoznania się z:
http://www.w3schools.com/cssref/css3_pr_box-sizing.asp
Jak w przypadku wielu różnych tematów tak i w przypadku marki osobistej pojawiło się przez…
Choć zabrzmi to może nieco dziwnie to wprowadzenie AI (sztucznej inteligencji) do naszego życia było…
Widmo Brockenu to dość rzadko spotykane zjawisko optyczne, najczęściej widywane w wysokich partiach gór. Można…
Zacznę może od tego, że relikwia, relikwii nie równa. Wiem jeśli nie ma się pojęcia…
Logo stanowi jeden z ważniejszych elementów tożsamości wizualnej praktycznie każdej firmy, marki czy projektu. Logo…
Budując własną markę osobistą lub chcąc ją zbudować trzeba liczyć się z wieloma wyzwaniami. Jednym…