Dziś wpis pod znakiem tych piątkowych i weekendowych. Za pewne nie wiele wniesie w kwestii kodowania, ale na pewno pomoże nie jednej osobie poradzić sobie z osobliwym problemem braku opakowania na płytę… Dziś takowe możemy nabyć w szpuli w liczbie przekraczającej dziesiątki – i wiem że powoli odchodzi się od ich stosowania, wciąż jednak są one od czasu do czasu potrzebne. Powodów ich użycia może być wiele i na pewno wymieniać ich nie zamierzam. Wpis jednak dotyczy problemu bezpiecznego transportu krążka w przypadku gdy nie mamy na niego opakowania. I tak: czy to sami potrzebujemy takową gdzieś przemycić, czy chcemy wysłać np. portfolio klientowi zazwyczaj nie mamy w czym. Poniżej zaprezentowany został sposób jak zgrabnie i szybko złożyć proste i niezwykle budżetowe opakowanko na naszego cd’eka… Swoją drogą tak przygotowany „pokrowiec” robi ciekawe i oryginalne wrażenie, co więcej może być konstruowane w zamyśle i odpowiednim celu np. promocyjnym! Sprawdźcie!

Tajemniczo? Na problem powiązany z takim zagadnieniem trafiłem wczoraj. Zadanie polegało na osadzeniu klipu z youtube’a w standardowo generowanym iframie pod warstwami grafiki, tak by można było dodatkowo ów youtube’m nawigować – swoją drogą to bardzo ciekawy temat, ale chyba na inną okazję, pod zupełnie innym tytułem. Wróćmy jednak do klipu wideo, którego ramka zewnętrznie wymusza wysoki z-index – na tyle wysoki by skutecznie zakrywać wszystkie elementy pod nim, mimo że te ów wartość posiadają wyższą. Okazuje się że wartość taką wymusza includowany iframe w którym umieszczony jest klip z serwisu youtube. Dodatkowo nie przyjmuje on właściwości wmode=transparent, którą należy nadpisać. Jak to w życiu jednak bywa, można w prosty i łatwy sposób poradzić sobie z tego typu zdarzeniem przy pomocy javascriptu. Poniżej skrypt który trwale rozwiąże omawianą bolączkę…
1 2 3 4 5 6 | $(document).ready(function () {
$('iframe').each(function() {
var url = $(this).attr("src");
$(this).attr("src",url+"?wmode=transparent");
});
}); |
I znów – proste rozwiązanie wstępnie nie ładnie wyglądającego problemu…
Jakiś czas temu przygotowywałem kształty chmurek na potrzebny pewnej kreacji, która nie została wykorzystana w całości. Tym samym pomyślałem że warto podzielić się tym co pozostało. Poniżej link do pliku psd w którym znajdziecie trzy kształty chmurek które będziecie mogli wykorzystać wewnątrz własnych projektów.

Szybki wpis dla tych którzy mają problem z wyświetlaniem typografii w formie @font-face w Internet Explorerze. Do zapisu otwartego formatu eot niezbędne jest dopisanie kilku znaczków kodu – ?#iefix. Powinno to m.w. wyglądać tak.
@font-face {
src: url(‘../fonts/font.eot?#iefix’) format(‘embedded-opentype’),
font-weight: normal;
font-style: normal;
}
To powinno pomóc w prawidłowym renderowaniu typografii dla IE. Wiadomo oczywiście że jakość wyświetlanego fonta może pozostawiać wiele do życzenia i w dużej mierze zależne jest to od przeglądarki, ale na to większego wpływu już niestety nie mamy.
Śmieszna sprawa… Sama właściwość jest chyba wszystkim bardzo dobrze znana, możemy wykorzystać ją właściwie w każdy dowolny sposób. Dzięki css’owemu transform mamy możliwość obracać obiekt, zmieniać jego skalę a także go deformować. Nikt jednak nigdy nie wspominał o jakości edytowanych elementów. A wszyscy dobrze wiemy że pozostawia ona wiele do życzenia – te chropowate krawędzie, fonty, piksel goni piksel… Widzieliście kiedyś wielokrotnie obróconą warstwę w Photoshopie? No właśnie. Co ciekawe wraz z dokładną specyfikacją ów css’owego zastosowania została uwzględniona również właściwość visibility-property, która skutecznie niweluje ów wątpliwie estetyczny problem. Zapis został przedstawiony poniżej; domyślną jego wartością jest oczywiście wartość visible.
.class {
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
}
Zapis musi uwzględniać użycie właściwości zarówno dla silników -webkit, -moz oraz pozostałych. Opisywane rozwiązanie świetnie sprawdza się w nakładanych na siebie elementach, animacjach czy umieszczonej wewnątrz deformowanego obiektu typografii. Cóż, przechodzi mi jednak przez głowę myśl o domyślnej interpretacji.
Już chyba dwu-krotnie pisałem o przykładach wykorzystania ajaxowwych loaderów… Dziś możemy użyć do tego celu generowane obrazki gif lub skoczyć lekko w przyszłość i zaprzęgnąć canvas’y w html5 – jak więc to zrobicie w 100% zależy do was. Chciałbym jednak przedstawić wam rozwiązanie na to jak taki loader zaaranżować względem konkretnego bloku witryny. Być może dla ludzi od front-endu zagadnienie wyda się banalne i machną ręką, będą jednak i tacy którym zdecydowanie opcja ta się przyda. Osobiście słyszałem już nie raz od programistów z którymi współpracowałem – „te Łukasz, potrzebny mi jest jakiś ajaxowy loader”. Natchniony takimi właśnie sytuacjami pragnę stanąć na wysokości zadania i wesprzeć wspomnianą część środowiska web-developerów …

Zacznijmy od tego że sam obrazek z loaderem nie rozwiązuje problemu. Do pełnej satysfakcji potrzebny jest nam również kod css jak i html. Obrazek jednak będzie pierwszym z elementów który stworzymy. W tym celu przeniosę was na stronę dość popularnego generatora tzw. kręciołków. Witryna pozwali wam na wybranie jednej z kilku nastu możliwych opcji loaderów, nadania im odpowiedniej kolorystyki a także zapisu w postaci obrazu gif. Przy okazji generowanie ów elementu polecam zaznaczyć opcję „Transparent background” a także określenie koloru tła na jakim będziecie chcieli umieścić „ładowarkę”. Zdecydowanie ułatwi to wam dopasowanie obrazu pod kątek wypełnienia bloku nadrzędnego który okalał będzie loader. Idźmy dalej.
Przygotowaliście sobie już obrazek, wrzuciliście do katalogu z obrazami, co dalej? Czas na mały kod html.
1 2 3 | <div class="ajax_loader">
<div class="ajax_loader_container"></div>
</div> |
Te trzy linie kodu należy umieścić w miejscu gdzie znajduje się blok w którym jakaś treść będzie dynamicznie doładowywana. Kodzik z loaderem wrzućcie do tego właśnie diva. Może to więc być lewa bądź prawa szpalta waszego serwisu, może to być mały 30 pikselowy blok gdzieś u dołu witryny, może to również być wewnątrz tagu body. Dowolność jest nieograniczona. Pamiętajcie jednak by takie ładowanie wskazać w miejscu jak najbardziej je sugerującym. Dla bloku w którym umieszczony zostanie loader należy dodać pozycje relatywną w css. A dalej już sam kod…
.main_block {
position: relative;
}.ajax_loader {
width:60px;
height: 60px;
position: absolute;
top: 40%;
left: 42%;
z-index: 10;
background-color: rgba(255, 255, 255, 0.8);-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}.ajax_loader_container {
background: url(‘img/ajax-loader.gif’) center center no-repeat;
position: relative;
width:60px;
height: 60px;
}
Wielkość diva o klasie ajax_loader, który będzie okalał nasz loader zależy oczywiście od jego rozmiaru, warto dodać parę pikseli by sztucznie lecz dość uniwersalnie uzyskać efekt paddingu. Dla uwidocznienia kręciołka blokowi który go obejmuje nadaliśmy biały kolor tła z lekką przezroczystością (tu wróćcie myślami do generowania gifa i jego parametrów). Oddalony jest on w pozycji absolutnej od górnej krawędzi nadrzędnego diva o 40% – po to by był m.w. w zasięgu wzroku, jeśli część witryny która aktualnie jest ładowana jest dość długa/wysoka możecie tę odległość zmniejszyć. Co do centrowania elementu użyty został zapis oddalenia bloku od lewej krawędzie o 42%. Będzie to chyba najbardziej prawidłowy zapis w przypadku podobnych rozmiarów samego obrazu który wykorzystaliśmy jako loader. Gdy tylko będzie on większy można oddaleniem od lewej krawędzi odpowiednio manipulować tak by loader znajdował się dokładnie na środku bloku rodzica. Ponad to kontener z obrazem otrzymuje zaokrąglone rogi oraz wałściwość z-index na 10, tak by zawsze był on nad blokiem ajaxowego ładowania – w przypadku gdy wykorzystujecie wyższe wartości adekwatnie do nich zmieńcie również i tę dla omawianego diva. Element o klasie ajax_loader_container zawierał będzie obraz z wygenerowanym wcześniej ajaxowym ładowakiem. W środku elementu możecie umieścić go dzięki klasycznemu centrowaniu tła w danym elemencie lub używając po prostu zapisu procentowego 50/50.
Jeśli chodzi o IE, jedyne co musicie zmienić to tło. Do tego celu zamiast wykorzystania rozwiązania :rgb w CSS3 dodajcie zwykły półprzezroczysty obrazek który powielicie. Może to być również zdefiniowany kolor, będzie on tym samym najzwyklejszym tłem.
I to tyle jeśli chodzi o to zagadnienie. Powodzenia! W razie pytań piszcie.