Dziś jest poniedziałek, 13 października 2008 roku (z kalendarza...)

CSS dla masochistów

26.04.2005, 18:16

Webmaster

Komentarze (3)

Powrót

Nie wiem, kto układał specyfikację CSS'a. Nie wiem, kto ją zatwierdzał. Wiem tyle, że ten ktoś miał jakieś zapędy masochistyczne, szczególnie by zalecić robienie szaty graficznej w 100% na CSS. Otóż poszedłem wreszcie za namową brata i postanowiłem tak właśnie zrobić z layoutem do strony szkoły (jak nowoczesność, to nowoczesność). Początkowo rzeczy szły całkiem dobrze. Dodałem logo, wyświetliłem panel boczny. Dalej zaczęły się schody.

Doszedłem do treści strony, dodałem ładnie parametry "width", "align" itd. Odświeżyłem adres i jest ładnie. Zwężyłem okno.... #$@$@#$, treść wjechała na menu i wszystko zasłoniła. I co z tym fantem zrobić? Nigdzie nic nie ma, brat tłumaczy się nieznajomością zagadnienia. W końcu przypisałem stałą szerokość i zmieniłem trochę układ warstw, by dodać tło pod menu. Z tym również były jaja. Wzorem innej stronki chciałem, aby szary panel z boku leciał sobie aż na sam dół strony. Tam osiągnąłem ten efekt tak, jak robi to typowy człowiek: w HTML'u. Tutaj wpisuję w CSS wartość "height" na "100%" i... oczywiście, rozszerzyło mi stronę tak, że po końcu treści było jeszcze wolne z 300 pikseli. Znów kombinowanie. W ruch poszły z-indeksy, które poustawiałem dla loga i menu, a następnie ten nieszczęsny panel wsunąłem pod nie. Mimo wszystko część przestrzeni nadal pozostała. Nie wiem, czy to twórcom Opery/Firefoxa coś się w głowę stało, że biorą za "100%" odległość z Paryża do Londynu, zamiast od góry pola wyświetlania do końca treści, czy też ja jestem idiotą? Uprzedzając ewentualne złośliwe komentarze: tak, oczywiście że jestem idiotą. Przyczyny takiego zachowania nie znalazłem.

Korzystając z dni otwartych w szkole ustaliłem, że strona będzie przygotowywana w czterech wersjach językowych. Kod PHP dopasowałem bez problemu. Gorzej, gdy przyszło w CSS'ie dorobić po prawej stronie górnego panelu flagi z linkami do każdej z nich. Najpierw zwyczajnie dodałem nowy ID: "languages", a w nim porobiłem linki i wstawiłem obrazki. Przez przypadek zrobiłem błąd składni XHTML i przeglądarka zgłosiła mi (słusznie) błąd na ostatniej z flag, trzy pierwsze wyświetlając poprawnie. Błąd poprawiłem i mało nie spadłem z krzesła. Linki... wyparowały. I nie tylko linki, ale także obramówka, która miała je otaczać po najechaniu. Po nitce do kłębka dotarłem do przyczyny: "position: absolute;". Tylko co ma piernik do wiatraka? Bez tego zwyczajnie nie idzie przesunąć tych flag do prawej strony! Patrząc na resztę layoutu odkryłem, że div ze stylem z ww. atrybutem jeszcze w paru innych miejscach wciął mi linki. Tak, jakbym w ogóle nie użył tam a href. Dodam, że "bugliwy" Internet Explorer wyświetla wszystko tak, jak być powinno.

I jak tu nie twierdzić, że CSS robiony jest przez masochistów dla masochistów? Najgłupsze rzeczy takie, jak przesunięcie tekstu do prawej, mogą przyprawić niekiedy o paliptację serca, a a całość jest delikatna niczym domek z kart. Dodaj jednego diva, poznikają linki w połowie strony. Przywróć pierwotny stan, linki nie wrócą. Istna paranoja. Dlatego skończę ten @#$@#$ layout, bo mi się go nie chce przepisywać na bardziej cywilizowaną postać i rzucam to. Do pewnego stopnia CSS jest naprawdę przydatny, ale robienie na nim CAŁEJ strony to naprawdę niezły hardcore. I ludzi, którym się to udaje, chyba zacznę podziwiać. Za żelazne nerwy...

Powrót

Komentarze

Napisał zimaq w wtorek, 26 kwietnia 2005 o 20:34

Znam ten ból, a teraz poznam go dokładniej, gdyż szykuję sobię zupełnie nową, wypasioną ( i tak pewnie taka nie będzie ) stronkę ;) Ehhh... Ciekawe czy CSS3 będzie lepiej zorganizowany?

Napisał eXtreme w środę, 27 kwietnia 2005 o 07:17

Ooo przepraszam. Mówiłem, że jeśli nie potrafisz to się nie porywaj jak z motyką na słońce, kopiując fragmenty CSSa z mojego panelu administracyjnego (który działa piknie zawsze i wszędzie!) i wymyślając im inne zastosowanie, a potem się dziwiąc, że to ci tu %^&$^& nie działa! U mnie dany fragment służy do tam czegoś, a jak ty sobie go modyfikujesz po swojemu, to nie dziwota, że nie chce działać poprawnie. Inna sprawa, że kopiowałeś fragmenty ze starej już wersji - nowa przeszła sporo zmian (między innymi praktycznie brak pozycjonowania absolute jest tylko w JEDNYM miejscu - dokładnie tamtym, skąd brałeś kod na języki, przy czym u mnie to i tak inaczej wygląda :/). Kolejna sprawa, która wymaga chyba sprostowania - linki ci działają wszędzie - coś ci się pokićkało i miałeś <i>link</i> a nie <a href="">link</a>, a to chyba różnica, no nie? Najpierw zwymyślasz wszysto i wszystkich, a potem okazuje się że to twoja wina ;) :D PS. Przydałoby się większe pole do wpisywania treści komentarza, bo tak to się pogubić można. ;)

Napisał Zyx w środę, 27 kwietnia 2005 o 13:34

Przepraszaj dalej, masz jeszcze trzy szanse. Obecnie jedyny prawdziwy (w połowie) zarzut to to pomylenie znaczników. Tyle że było to w jednym miejscu, a w reszcie linki dalej znikają w najlepsze. Podpowiedź #1: zarzuty, jakie stawiam CSS'owi oraz jego implementacjom: a) niekonsekwencje przy liczeniu odległości. Autorzy przeglądarek nadają wartości 100% jakieś kosmiczne odległości, które nijak mają się na to, co widać na ekranie. b) Niekonsekwencje w działaniu. Powinno zasłaniać wszystko, albo nic. A tu co? Obrazek jest, a linki i reakcje pojechały na wakacje. c) głupie przesunięcie tekstu do prawej tak, by dał się on w tę stronę też rozszerzać, to kombinacja alpejska, której nawet ty nie znasz. Podobnie jest z paroma innymi elementarnymi rzeczami. d) A najgorsze jest to, że twórcy przeglądarek chwalą się, że są "CSS 2 Compilant". Bullshit. PS. Żebym ja ci kiedyś nie powiedział "nie rwij się z motyką na słońce" przy problemie z PHP...

Strona 1 z 1 :: 1

Skomentuj

NickInformacja
E-mailTylko do użytku wewnętrznego.
WWWNie zapomnij o http://
LayoutNapisz tu, czy widzisz dzienny czy nocny layout.
WpisFormatowanie wiki
Internauto, pamiętaj! Wolność to nie samowola - dbaj o kulturę wypowiedzi oraz dyskusji w sieci.

Na Zyxist.com panuje swoboda wyrażania opinii oraz krytyki pod dowolnym adresem. Jedyny warunek: musi być ona kulturalna i rzeczowa. Na chamstwo, prostactwo lub jawne obrażanie kogokolwiek nie ma tu miejsca i takie komentarze są bardzo szybko usuwane. Jeśli zamierzasz polemizować z treścią wpisu, wpierw uważnie ją przeczytaj.

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 2 | Serwer wirtualny zapewnia