Ładne kolory, szybko!

Pod adresem materialui.co/colors jest bardzo ładna paleta kolorów z Material Design. Są tam też inne palety i elementy (klikaj w pozycje menu), ale ta paleta ma tą właściwość, że wszystkie kolory wyglądają mniej więcej ładnie w zasadzie w każdym projekcie. Po kliknięciu kod koloru jest od razu kopiowany do schowka, gotowy do użycia.

Google Fonts (i nie tylko) – dlaczego lepiej hotlinkować niż trzymać u siebie?

W niemal każdym poradniku o optymalizacji stron www można odnaleźć wskazówkę, że wszystkie zawartości wczytywane z zewnątrz powinno się umieścić lokalnie na stronie, i wczytywać razem z innymi elementami strony z jednego serwera. Koronnym przykładem jest tu Google Fonts – popularna usługa serwowania darmowych do użycia krojów czcionek.

Mówi się że hotlnikowanie (czyli linkowanie zdalne) spowalnia ładowanie strony i uzależnia ją od zewnętrznych usług.
W zasadzie prawda, ale:

Jeśli dana usługa jest bardzo popularna (na przykład jest to bardzo popularny font Open Sans) to istnieje bardzi duże prawdopowobieństwo, że użytkownik strony był już na innej stronie która używa tego kroju czcionek. Zatem – ten krój jest już zapisany u niego w przeglądarce, a ta widząc hotlink do tego samego miejsca, nie będzie ładowała czcionek z serwera Googla, tylko pociągnie z własnego cache’a, co jest około trzy biliony razy szybsze.

Ma to zastosowanie dla wszystkich popularnych treści hotlinkowanych.

A pod adresem
https://fonts.google.com/analytics są pełne statystyki użycia krojów z Google Fonts. Rządzą: Roboto, Open Sans, Lato (polska produkcja!), Oswald. Myślę że te kroje można spokojnie hotlinkować do woli. :)



Ciekawostki z krainy HTML i CSS

Czy wiedziałeś że CSS może pobrać atrybut znacznika HTML?
<span data-cokolwiek=’tresc’>costam</span>
span::after {
content: attr(data-cokolwiek);
}

https://www.w3schools.com/cssref/func_attr.asp

Czy wiedziałeś że obrazem w <img> można maniulować niemal tak samo jak w background css’a?
<img src=”cos.jpg” style=”object-fit: cover;” alt=””>
img {
object-fit: fill | cover | contain | none | scale-down
}

https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
(a backgroundy nie są indeksowane przez Google?)

Czy wiedziałeś, że samym CSSem możesz robić wykresy tortowe, za pomocą gradientu stożkowego?
.pie-chart {
width: 340px; height: 340px;

border-radius: 50%;
background: conic-gradient(#8b22ff 0% 25%, #ffc33b 25% 56%, #21f3d6 56% 100%);
}

https://codepen.io/ananyaneogi/pen/mYmrMJ


Więcej być może wkrótce :)

Deep Image – inteligentne zwiększanie rozdzielczości zdjęć

Deep Image Beta to webaplikacja, umożliwiająca powiększanie rozdzielczości zdjęć z użyciem uczenia maszynowego (które jest nazywane sztuczną inteligencją). Dodatkowo usuwa artefakty JPEG. Usuwania artefaktów nie testowałem, ale powiększanie rozdzielczości naprawdę nieźle działa. Warto znać.

The Bézier Game – bądź mistrzem graficznego pióra!

Kolejna gra dla grafików: Tym razem musimy prowadzić linię po ścieżce, używając narzędzia „pióro” które prowadzi krzywe Beziera. Mamy do dyspozycji ograniczoną ilość punktów kotwiczących. Liczy się precyzja i też myślenie. Gra jest momentami niełatwa. Ale bardzo wciąga. :)

bezier.method.ac

Filtry CSS

Wiedzieliście że CSS umożliwia bardzo szerokie manipulacje za pomocą filtrów? Wszystkie takie jak powyżej w ilustracji, poniżej są w kodzie:

.saturate {-webkit-filter: saturate(3);}
.grayscale {-webkit-filter: grayscale(100%);}
.contrast {-webkit-filter: contrast(160%);}
.brightness {-webkit-filter: brightness(0.25);}
.blur {-webkit-filter: blur(3px);}
.invert {-webkit-filter: invert(100%);}
.sepia {-webkit-filter: sepia(100%);}
.huerotate {-webkit-filter: hue-rotate(180deg);}
.rss.opacity {-webkit-filter: opacity(50%);}

Niby z przedrostkami -webkit, ale działa też w Firefoxie… :)

Tutaj można zobaczyć działający przykład:
https://codepen.io/rss/pen/ftnDd

Gra dla grafików: The boolean game

Prosta gra ćwicząca mózg i rękę. Każdy grafik powinien ją przejść bez trudności. Są to w zasadzie puzzle: Dostajesz figury geometryczne, i kształt do ułożenia. Układasz figury, a potem je łączysz na różne sposoby (sumą, różnicą, maską lub częścią wspólną. Wynik musi być taki jak kształt do ułożenia. Polecam :)

boolean.method.ac