O Internecie, oprogramowaniu oraz moich własnych małych projektach...
Blog > Komentarze do wpisu

Zaczaruj archiwum bloksa cz. 2

Dzięki opisanemu w poprzednim poście skryptowi otrzymaliśmy archiwum w postaci listy wypunktowanej. Nie jest to atrakcyjna forma prezentacji tego elementu, dlatego też dziś zajmiemy się dalszym jego przekształceniem przy użyciu arkusza CSS.

Naszym celem będzie dalsza modyfikacja archiwum w celu jego minimalizacji. Otrzymana postać archiwum, choć nie posiadającego jeszcze pełnej funkcjonalności, będzie stanowić ćwiczenie przed jego końcową modyfikacją, którą przedstawię w następnym poście.

Zmiana stylu wyświetlania listy

Pierwszą czynnością jaką należy wykonać jest pozbycie się wypunktowania (patrz rys. 1) oraz wcięcia elementów listy przedstawiającej Archiwum. Po uzyskaniu prostej listy zajmiemy się ukryciem oraz wyświetlaniem podmenu zawierających listy miesięcy. Otrzymane w ten sposób proste menu poddamy kilku zabiegom zmieniającym wygląd jego elementów, co pozwoli Ci później na samodzielne dokonanie adaptacji do własnego szablonu.

Rys. 1. Struktura archiwum po zastosowaniu samego skryptu.

Usunięcie wypunktowania

Aby usunąć wypunktowanie odwołujemy się do listy głównej o id="nav" oraz zagnieżdżonej w niej listy z miesiącami. Odpowiednia deklaracja wygląda następująco:

#nav, #nav ul{list-style-type: none}

Usunięcie wcięć elementów listy

Podobnie jak dla wypunktowania, wcięcia eliminujemy dla obu poziomów menu, a odpowiedni rezultat uzyskujemy następującą deklaracją:

#nav, #nav ul{padding: 0; margin:0}

Po zastosowaniu powyższych wskazówek otrzymamy następujący wygląd archiwum:

Rys. 2. Archiwum po usunięciu wypunktowania i wcięć.

Ukrywane list miesięcy

Najistotniejszym punktem naszej operacji jest ukrycie pod poziomu archiwum zawierającego listy miesięcy, gdyż to właśnie pozwala na znaczne zmniejszenie jej długości.

Ukrycie elementów podmenu

Ponieważ zależy nam na zmniejszeniu rozmiarów archiwum, to jako wyjściową przyjmiemy sytuację ze schowanymi listami miesięcy.

#nav ul{display: none}

Tak zmodyfikowane menu dla lat 2005-2007 przedstawia rysunek 3.

Rys. 3. Archiwum z ukrytymi listami miesięcy.

Wyświetlenie listy miesięcy po wskazaniu roku

Idealnym rozwiązaniem jest wyświetlenie listy miesięcy po wskazaniu myszką odpowiadającego jej roku. Efekt ten w nowoczesnych przeglądarkach zapewni deklaracja:

#nav li:hover ul{display: block}

Najechanie myszką na rok spowoduje wówczas wyświetlenie odpowiadającej mu listy miesięcy (rys. 4).

Rys. 4. Archiwum po wskazaniu roku myszką - widoczna lista miesięcy.

Wyświetlanie list miesięcy - starsze wersje IE

Internet Explorer (wersje < 7) nie obsługuje pseudo klasy hover. Brak ten jest jednak niwelowany przez skrypt, który nadaje wskazanemu myszką elementowi listy klasę over. Dostosowanie naszego arkusza CSS do IE sprowadzi się do modyfikacji ostatniej deklaracji do następującej postaci:

#nav li:hover ul, #nav li.over ul{display: block}

Przykład formatowania archiwum

Po dokonaniu powyższych modyfikacji otrzymaliśmy zminimalizowane archiwum, które jednak nie prezentuje się ciekawie. Aby zmienić tą sytuację należy znów posłużyć się arkuszem CSS.

Nagłówki lat

Nagłówki z numerami lat są pierwszym elementem, który zobaczy użytkownik, dlatego też od nich rozpoczniemy formatowanie. Tu jedynie zmienimy czcionkę na pogrubioną i dodamy margines:

#nav li {font-weight: bold; margin-bottom: 5px}

Należy pamiętać, że tak wprowadzone zmiany będą dotyczyły także nazw miesięcy zatem jeżeli nie chcemy by były one wyświetlane pogrubioną czcionką, to musimy zastosować dodatkową deklarację:

#nav li ul li{font-weight: normal}

Obramowanie rozwiniętej listy

Możemy chcieć wyróżnić rozwiniętą listę miesięcy, np. za pocą kolorowego tła. Otrzymamy je dodając do arkusza CSS poniższą linię:

#nav li ul{background-color: silver}

Formatowanie tekstu odnośników

Zmiana formatu tekstu odnośników również nie stanowi większego problemu. Usunięcie domyślnego podkreślenia osiągniemy następującą deklaracją:

#nav ul a{text-decoration: none}

Co dalej

Opisałem tu proste przekształcenie archiwum, które miało na celu zapoznanie ze sposobem odwoływania się do poszczególnych elementów z poziomu arkusza CSS. Mimo swej prostoty, po dodatkowych zabiegach (ja zaprezentowałem tylko przykłady formatowań), stanowi ono całkiem funkcjonalną całość. Dalsze usprawnienie naszego archiwum pozwalające przekształcić je w pełni funkcjonalne menu zostanie przedstawione w kolejnej (ostatniej) części cyklu.

środa, 07 lutego 2007, s.z.y.m.o.n
Tagi: blox
TrackBack
TrackBack w tym blogu jest moderowany. TrackBack URL do wpisu:
Komentarze
2007/02/07 19:28:31
zaczynam testować u siebie :-), pierwsze spostrzeżenie - jeśli jest więcej lat, to lista miesięcy je zasłania
-
2007/02/07 20:00:30
Jeśli się nie mylę, to nie mogłaś się doczekać 3 części i skopiowałaś mój CSS. Mam rację?

Napisz na komunikator (ze spika tez da radę), to rozwiążemy problem ;)
-
2007/02/07 20:51:50
masz :-) bo ja niecierpliwa jestem ;-) ale nie będę Ci zawracać głowy, poczekam na tę 3 część, jakoś to przesunęłam sobie, potem najwyżej poprawię
-
2007/02/08 09:07:07
" Co ja robię tu, co ja tutaj robię... " :))))))
Fajnie was widzieć takich zagadanych.Babo :*
-
sgk
2007/02/08 09:49:03
Niezły trick, niezły. Świetna robota.
Ja akurat wolę kalendarz - zajmuje sztywne miejsce w arkuszu ;)

A powiedz mi, jakim skryptem zamieniłeś krótkie "Więcej" na "Zobacz więcej" przy notkach podzielonych na wstęp i rozwinięcie?
-
2007/02/08 10:04:04
O! Też bym chciała ' zobacz więcej ' walczę o to na forumie :/
No i też wolę kalendarz :)
-
sgk
2007/02/08 12:26:28
Już wiem, pseudoklasa ::before :)
Problem tylko, że to nie działa w IE, którą ma większość pewnie...

Nie dałoby rady tego potraktowac javascriptem?
I tak już wdepnęliśmy w jego zastosowanie, więc można iść za ciosem...
-
2007/02/08 13:08:30
nie wiem czy tych skryptów nie zrobi się w końcu za dużo, a archiwum w IE u mnie nie działa :-( powinni to coś, niesłusznie zwane przeglądarką wycofać z użycia i byłby spokój ;-)
-
2007/02/08 15:24:00
->sgk: Dałoby by rade - pomyślimy ;)

->taisha: Która wersja IE? Co do ilości skryptów, to u mnie zajmują raptem 3KB, a to tyle co jakiś malutki gif.

Chyba przyjdzie mi jednak skazić pingwinka instalacją tej nIEciekawej przeglądarki :/

->cito1: Dla normalnych przeglądarek wystarczy dodać w CSSie linię:
.IPTwiecej a:before{content: "Zobacz "}
-
2007/02/08 17:21:34
wersja 7, tak to wygląda , starszych nie sprawdzałam, używam jej tylko, jak się chcę zdenerwować, że znowu coś jest inaczej niż powinno ;-)
-
2007/02/08 19:00:19
Wyskrobałem poprawkę na tę żywą skamielinę.
Działa na IE 6, Firefoksie 2.0.1 i (po małym triku) Operze 9.10.
Nie wiem jak jest pod IE 7.
Poprawka poszła już na twoją skrzynkę.
-
2007/02/08 23:08:55
s.z.y.m.o.n a jeżeli ta normalna przeglądarka spaceruje z pingwinkiem? To też :) Wstawiam, najwyżej Taisha naprawi potem :D
ps. I co nazywamy normalna przeglądarką?
-
2007/02/09 00:05:19
U mnie tylko z pingwinkiem chadzają przeglądarki, bo z okien, to raczej mają zwyczaj wypadać...

Co nazywamy normalną przeglądarką? Nie wiem jak my, ale ja określam tak przeglądarki nieskrępowane monogamicznym związkiem z dominującym OS-em (w wolnym tłumaczeniu nie IE)
-
2007/02/28 18:01:38
Bardzo mi sie podoba :) już dawno korzystam tego pięknego szablonu i tylko podziękować zapomniałam co czynię niezwłocznie
-
2007/02/28 20:09:29
To się załapałaś, bo tylko przez chwilę był udostępniony ;)
-
2007/04/23 22:36:15
Moze masz w zanadrzu jakis pomysl coby po najechaniu na "ostatnie notki" rozwijalo sie menu z tymi notkami. Podobnie jak z archiwum?
:-)
-
2007/04/23 23:36:46
To akurat nie jest zbytnio skomplikowane. Chwilowo na warsztacie mam inny skrypcik, ale mooooże zrobimy ;)
-
2008/01/04 03:12:50
Hej jestem totalnym laikiem jesli chodzi o css i inne temu podobne skroty typu itp,itd...:) a bardzo bym chcial przestac tym laikiem byc bo nieznosze wygladu swojego bloga, az mi sie na nim pisac nie chce :) jedno pytanko zanim zaczne wklejac i takie tam rozne robic, czy trzeba zrobic wszystkie trzy kroki ze wszystkich trzech postow?
-
2008/01/06 16:57:58
Drugi jest tu dla celów edukacyjnych i można go pominąć.
-
2009/02/08 13:51:00
zastosowałem się do instrukcji. dzięki!
Weź udział w dyskusji o nowym kodzie HTML blogów na Blox.pl
Promuj swojego bloksa
Czytelnicy mogą promować Twojego bloga umieszczając linki do notek w serwisach społecznościowych. Ułatw im to zadanie dodając na blogu listę odnośników, która tą czynność sprowadzi do jednego kliknięcia.
Czytaj dalej...