Tag Archives: GUI

WordPress TwentyTen, CSS reset Erica Meyera i komunikaty o błędach HTML5 forms w Chrome

Zapostowany w Technika | Tagi: , , , , , , , | Skomentuj

Długo wczoraj szukałem co jest nie tak z wyświetlaniem komunikatu o błędnej zawartości pola typu „email” w Chrome (mowa oczywiście o wbudowanej w przeglądarkę obsłudze sprawdzania pól formularzy HTML5):

Dziwne wyświetlanie błędu zawartości pola typu "email" w Chrome.

Dziwne wyświetlanie błędu zawartości pola typu "email" w Chrome.

Nadmienię, że pracowałem na bazie CSSa z najnowszej wersji theme’a WP TwentyTen. Szukałem i szukałem — i koniec końców zawęziłem moje poszukiwania do popularnego resetu styli autorstwa Erica Meyera:

Domyślny reset CSS Erica Meyera.

Domyślny reset CSS Erica Meyera.

Na pierwszy rzut oka wszystko gra, nie? Zacząłem więc eliminować części selektora jeden po drugim i jakieś było moze zdziwienie, kiedy okazało się że usunięcie DIVa:

Reset CSS z wykomentowanym DIVem w selektorze.

Reset CSS z wykomentowanym DIVem w selektorze.

…naprawiło sytuację:

Poprawne wyświetlanie komunikatu błędu.

Poprawne wyświetlanie komunikatu błędu.

Wychodzi zatem na to, że „wbudowane” w Chrome dymki z komunikatami o błędach same są HTMLem stylowanym CSSem — w tym konkretnie przypadku jest to DIV do którego „przenikać” zdają się style ustawiane przez użytkownika. Dziwne cokolwiek…

CSS3 + Flexbox = Koniec z FLOAT’ami (kiedyś)

Zapostowany w Technika | Tagi: , , , , , , , | 6 Komentarzy

Biorąc pod uwagę tempo, z jakim aktualizowane ostatnio są najważniejsze przeglądarki (o zgrozo, nawet IE) wszystko wskazuje na to, że już za chwilę będzie można zacząć stosować większość dobrodziejstw CSS3 nawet w komercyjnych projektach.

Ale w natłoku tych wszystkich wyskakujących po Sieci demówek bajeranckich box-shadow‘ów, text-shadow‘ów, transitions czy nawet interaktywnych obiektów 3D, łatwo było przeoczyć nowość o wiele bardziej, w moim mniemaniu, fundamentalną — nowy rodzaj wyświetlania elementów.

display: box

Na początek małe demo. Koniecznie oglądać w jakimś Webkicie (Chrome, Safari czy nawet Android). Póki co, Opera kompletnie tego nie rozumie, IE aż po wersję 8 też (może M$ doda obsługę w wersji 9). Firefox niby sobie radzi, ale gubi się w wielu miejscach (co ciekawe – włącznie z wersją 4 beta – skutkiem czego w tym demie nie widać np. będzie faktu, że box jest skalowalny – co zasadniczo pozbawia sensu cały temat ;) ).

Powinno być widać coś takiego:

Na co warto zwrócić uwagę:

  • Nie ma tutaj żadnych floatów (!)
  • Równa wysokość niebieskich boxów jest dana „z automatu” – nie ma żadnych tricków CSS2.1 czy JS.
  • 3 niebieskie boxy są wyrównane w zielonym boksie do dołu — zielony box nie ma paddingu na górze!
  • Kolejność niebieskich boxów ustawiona jest w CSSie. W kodzie następują kolejno „child 1″, „child 2″ i „child 3″.
  • „child 1″ ma stałą szerokość, a „child 3″ i „child 2″ okupują pozostałą szerokość zielonego boxa w stosunku 3:1 (wszystko ustawione via CSS). Widać to dokładnie, kiedy ogląda sie demo w jakimś Webkicie i skaluje się okno przeglądarki.
  • Zielony box wycentrowany jest w przeglądarce w pionie i w poziomie – beż żadnych „margin:auto”, „position:absolute”, „left:50%;top:50%” czy ujemnych marginesów.

Ale jak?

Z wykorzystaniem kilku nowych, proponowanych w draftach (póki co, niestety) CSS3 atrybutów.

Zielony box (rodzic)

display:box
Nowa wartość display, która włącza model flexbox na elemencie, na którym jest ustawiona, i jego bezpośrednich dzieciach.
box-orient
Możliwe wartości: horizontal | vertical | inherit — definiuje jak wyświetlane są niebieskie boxy: horyzontalnie (tak jest ustawione w demie) czy wertykalnie.
box-pack
Możliwe wartości: start | end | center | justify — ustawia wyrównanie niebieskich boxów (dzieci) na osi zdefiniowanej przez wartość box-orient. Czyli jeśli w tym przypadku box-orient: horizontal, to chodzi o wyrówanie horyzontalne. Gdyby było box-orient: vertical, box-pack ustawiało by wyrównanie niebieskich boxów w pionie. Mała uwaga: na demie nie widać, że niebieskie boxy wyrównane tak naprawdę są do prawej, bo ze względu na ustawienie na dwóch z nich wartości box-flex — w sumie zajmują całą szerokość zielonego boxa.
box-align
Możliwe wartości: start | end | center | baseline | stretch. Odwrotność atrybutu box-pack — jeśli box-pack definiował wyrównanie horyzontalne, box-align będzie ustawiał wyrównanie wertykalne — i vice versa.

Niebieskie boxy (dzieci)

box-flex
Możliwe wartości: 0 | jakakolwiek liczba całkowita – ta wartość robi dwie rzeczy: włącza skalowalność boxa-dziecka i ustawia proporcje, w jakich dzieci (niebieskie boxy, w tym przypadku) będą wykorzystywały wolną przestrzeń w „rodzicu” (zielonym boksie). W demie 2 niebieskie boxy mają włączoną tą wartość: „child 3″ ma box-flex: 3, a „child 2″ ma box-flex: 1 — co oznacza, że oba będą skalowalne i będą wypełniały wolą przestrzeń w zielonym boksie (pozostałą po odjęciu szerokości „child 1″) w stosunku 3:1.
box-ordinal-group
Możliwe wartości: jakakolwiek liczba całkowita. Atrybut ten pozwala na zmianę kolejności wyświetlania boxów-dzieci (niebieskich) w stosunku do kolejności, jaką mają w kodzie. W demie boxy te mają kolejno: „child 1″ — box-ordinal-group: 3, „child 2″ — box-ordinal-group: 1 i „child 3″ — box-ordinal-group: 2

Co jeszcze

To oczywiście nie wszystkie wartości (polecam poczytać źródła), jakie składają się na flexbox. Ale to już wystarcza, żeby w pełni zastąpić floaty, a nawet dodać developerom wiele nowych możliwości bez konieczności uciekania się do hacków. Kiedy tylko wszystkie podstawowe przeglądarki zaczną spójnie to obsługiwać, rzecz jasna (patrzę głównie na Ciebie, Firefoksie). Na razie za wesoło nie jest. IMHO zaznaczenie tam Firefoxa na zielono też jest nieco na zasadzie „wishful thinking”.

Źródła

Update

Zapomniałem dodać, że wszystkie te właściwości są obecnie w fazie eksperymentalnej, w zw. z czym trzeba stosować „przedrostki producenckie”, czyli:

display: box;

display: -moz-box;
display: -khtml-box;

box-align: center;

-moz-box-align: center;
-khtml-box-align: center;

box-pack: center;

-moz-box-pack: center;
-khtml-box-pack: center;

…i tak dalej.

Kolejne zmiany

Zapostowany w Inne | Tagi: , , , , , , , , , | 3 Komentarzy

Po niespełna roku znowu postanowiłem trochę podłubać przy moim themie. Tym razem miałem kilka powodów:

  • Miałem trochę wolnego czasu,
  • WordPress 3.0 i nowy defaultowy theme twentyten — korciło mnie, żeby po raz pierwszy na nim poeksperymentować (sporą część stylów tekstowych zostawiłem właściwie niezmienioną),
  • CSS3 — jako że coraz więcej przeglądarek zaczyna sensownie to obsługiwać, czas był wielki nimi się pobawić,
  • Od dawna miałem zamiar wdrożyć sobie skin skalowalny,
  • Miałem zachciankę, żeby zmajstrować temat kompletnie pozbawiony grafiki dekoracyjnej.

To tyle :)

Dlaczego HTC Desire?

Zapostowany w Technika | Tagi: , , , , , , , , , , , | 2 Komentarzy

Gdybym miał odpowiedzieć na pytanie: „Dlaczego akurat HTC Desire?” — pewnie mógłbym opowiadać o poziomie konfigurowalności systemu, prawdziwie użytecznych funkcjach „biznesowych” — ale w sumie i tak wystarczyłoby pokazać to :lol:

Nawiasem – jako że pojawiało się to pytanie – mam (kupiony w x-kom.pl) telefon dokładnie w takich kolorach, jak w tym video.

YouTube Preview Image

HTC Desire

Zapostowany w Technika | Tagi: , , , , , , , , , , , | 16 Komentarzy

Cóż, wreszcie się stało. Symbian zdecydowanie nie spełnił swojego zadania jako PDA. Od długiego czasu nie dawało mi to spokoju.

i8910 to naprawdę świetny hardware — doskonały ekran, świetne głośniki stereo, naprawdę niezły aparat jak na komórkę, nagrywanie w 720p. Ale jako narzędzie „biznesowe” nie sprawdza się zupełnie. Konieczność instalowania zewnętrznego softu żeby móc dowolnie konfigurować powtarzalność eventów w kalendarzu? Dajcie spokój… Brak możliwości jakiegokolwiek sensownego konfigurowania ekranu startowego: samsungowski ekran z widżetami to jakiś żart – kompletny brak API do pobierania informacji z kalendarza (!!!) skutkiem czego nie było nawet widżetu wyświetlającego nadchodzące wydarzenia. A na defaultowy symbianowy ekran lepiej spuścić zasłonę milczenia. Czytaj dalej »

Gmail vs. Thunderbird

Zapostowany w Technika | Tagi: , , , , , , , , , , , , | 4 Komentarzy

Od kiedy w ogóle korzystam z poczty elektronicznej (a będzie to już ładnych parę lat) wypróbowałem chyba większość co popularniejszych programów klienckich — Outlook, Outlook Express, The Bat, Thunderbird — żeby na ostatnie kilka lat zatrzymać się na tym ostatnim. TB ma właściwie wszystko, co potrzeba — z jednym wyjątkiem, różniącym go od siostrzanego Firefoxa — aktywnego developmentu. Czytaj dalej »

FileHippo Updater

Zapostowany w Technika | Tagi: , , , , , , , , , | 3 Komentarzy

Jakiś czas temu wspominałem o Appupdater’ze. Od tamtego czasu (grudnia 2007) niestety zarządzanie aktualizacjami aplikacji na Windows nie zmieniło się wiele. Co znaczy tyle, że wciąz trzeba dbać o to we własnym zakresie. M$ nie ułatwia nijak użytkownikom życia. Na szczęście konsekwentnie pojawiają się programy, które pozwalają proces ten jeśli nie zupełnie zautomatyzować, to chociaż uczynić mniej bolesnym.

Jedną z lepszych tego typu aplikacji, na jakie trafiłem, jest FileHippo Updater. Dla odmiany ma własny interfejs graficzny, a do tego szukając aktualizacji, opiera się na bogatej bibliotece oprogramowania hostowanej przez FileHippo.com. Czytaj dalej »

Kilka zmian

Zapostowany w Inne | Tagi: , , , , , , , , , | 2 Komentarzy

Od dłuższego czasu chciałem nieco mocniej wyróżnić najnowszy post na stronie głównej, ale jakoś nie bardzo mogłem się zebrać, żeby do tego przysiąść. Szczęśliwie ostatnimi dniami znalazłem nieco natchnienia i odpaliłem Photoshopa, a zaraz potem Notepada++ :D . Efekt nawet całkiem mi odpowiada (póki co).

Tym razem, dla odmiany, zapędziłem do roboty WordPressowe Custom Fields (do obrazka przy najnowszym poście). Czytaj dalej »

Identyfikacja muzyki z Tunatic

Zapostowany w Technika | Tagi: , , , , , , , , , , | 16 Komentarzy

Pewnie nie ja jeden co jakiś czas trafiam w Necie na jakieś video w którym autor użył fajnej muzyczki. Nie ja jeden zapewne chcę się wówczas dowiedzieć co do to za kawałek. Zwykle jedyną nadzieją jest przeglądanie komentarzy pod filmikiem, ufając, że ktoś już o to zapytał, a ktoś inny odpowiedział. Okazuje się jednak, że jest pewien program, który jest w takich sytuacjach nieoceniony – Tunatic (dzięki Wykop!). I sprawa byłaby zamknięta, gdyby nie jeden szkopuł. Czytaj dalej »

Ikony Tortoise SVN w Total Commander

Zapostowany w Technika | Tagi: , , , , , , , , , , , , | 5 Komentarzy

Od czasu do czasu każdy webdeveloper musi przynajmniej zetknąć się z jakąś formą wersjonowania kodu. Jednym z najpopularniejszych systemów służących do tego właśnie celu jest oczywiście Subversion (SVN).

Pod Windows najwygodniej z SVN (moim przynajmniej zdaniem) korzysta się przy pomocy klienta zwanego Tortoise SVN, który bardzo ładnie integruje się z shellem, dając w menu kontekstowym wszystkie potrzebne polecenia, a status plików pokazując przy pomocy nakładek na ikony. Czytaj dalej »