Re: Java - ktra i gdzie

Autor: Ninik (ninik_at_dominik.kei.pl)
Data: Wed 12 May 2004 - 14:41:28 MET DST


Adam Płaszczyca <trzypion_at_oldfield.pulapka-org.pl> nakombinował(a) coś
takiego:
>> Od kiedy? HTML był pomyślany jako język, który miał za zadanie wyświetlić
>> stronę.
> Od samego początku. Potem standard zaczął zawierać coraz więcej
> elementów, które są wykorzystywane przeciwko założeniu, że ma być to
> platform independent i końcowa interpretacja może być inna.

W czasie html'a 3.2 jeszcze właśnie pisało się pod przeglądarkę,
oczywiście z czasem zrozumiano dlaczego i po co są wytyczne w3c i dlatego
przeglądarki zaczęły mądrzeć, duży tu wkład w zmianę polityki miała
mozilla, która jest odzwierciedleniem standardu, chwilę później również
przeglądarki oparte o khtml zaczęły dążyć w stronę w3c.

>> Również dla wygody piszących strony teraz powinno się pisać jedną wersję.
>> Na poziomie HTML'a przynajmniej, bo z JS jaja są dalej.
> Jasne. A teraz zastanów się czy możesz _wszystko_ kontrolować. I ile
> procent stron cos takiego ma.

Dalej przypominam Ci, że rozmawiamy o tym który standard jest lepszy i
dlaczego, nie o tym kto i jak może go spierniczyć, bo przykładowo nożem
też możesz kroić chleb i zabijać.
Kontrolować mogę wszystko co mi jest potrzebne właściwie.

>> Właśnie w css nie rozwali, pominie to co jest niezrozumiałe.
> I się wszystko rozjedzie.

Nie, nie powinno się tak stać. Najważniejsze elementy są ustalone,
przykładowo masz blok i nadajesz mu klasę:

div.blok {
  position: absolute;
  top: 20px;
  left: 30px;
  width: 200px;
  height: 700px;
  border: solid 1px #000;
  padding: 15px;
  cursor: pointer;
  outline: 1px #00f;
  -moz-opacity: 0.3;
  filter: alpha(opacity=30);
  -khtml-opacity: 0.3;
  dupa: dupa-dupa;
}

teraz tak:
+ z zrozumieniem pierwszych 7 linijek nie ma problemu dziś żadna
przeglądarka, więc utworzą blok jak im zadano.
+ z właściwością cursor będzie miała problem IE, wedle standardu powinno
być tak jak napisałem - wskaźnik to pointer, w IE jest tu różnica że
wskaźnik u nich to hand - bo kursorek zawsze był łapką np na linkach, IE
tu zgłupieje i da sobie siana z tą opcją.
+ outline czyli obrys - mimo że jest w standardzie od '99 AFAIR to jednak
do tej pory żadna przeglądarka tego nie obsługuje, jedynie IE ma bardzo
podobny filter, ale to jego ciekawostka, wszytskie więc pominą tą linię.
+ kolejne trzy linijki to próba uzyskania przezroczystości - w
poszczególnych przeglądarkach, jako że to element testowy to zgodnie z
specyfikacją mozilla i safari posiadają odpowiednie przyrostki, IE za to
popisuje sie filtrami, które nijak do standardu nie należą, ale przecież z
raz wprowadzonego śmiecia nie zrezygnują, ważne jednak, że żadna linijka
nie przeszkadza innej.
+ ostatnia linijka to głupota ode mnie dodana, nic nie przeszkodzi.

ostatecznie masz tak:
+ IE - blok wyświetli się prawidłowo wypozycjonowany, nie będzie miał
jednak zmienionego kursora, czcionka nie bedzie miala obrysu, będzie
półprzezroczysty
+ mozilla - blok wyświetli się poprawnie, nie będzie obrysu, ale kursor
zmieni się na łapkę
+ safari - tak jak mozilla
+ opera - tak jak mozilla, ale nie będzie przezroczystości (opera tego do
tej pory tego nie potrafi)

Masz wszędzie inną stronę, ale nic nie powoduje rozwalenia designu.
Przy okazji niewątpliwa zaleta - jak bym chciał zrobić sto takich bloków,
albo niewiele różniących się od siebie to mogę łatwo nadać wszystkim takie
lub lekko zmienione style:

<div class="blok"> aaaa </div>
<div class="blok" style="top: 120px; left: 40px;"> bbbb </div>
<div class="blok" style="bottom: 20px; left: 0;"> ccc </div>
<div class="blok" style="z-index: 4;"> dddd </div>
<div class="blok" style="top: 120px; left: 40px;"> eeee </div>

Zobacz ile musiałbyś sie naustawiać tego w przypadku braku css. Jest to
nieocenione np w przypadku ogromnych tabel, dodatkowo np z naprzemiennymi
kolorami wierszów (są pseudoklasy definiujące parzystość i nieparzystość).

Nie muszę pisać również, że css mogę przedefiniować dany znacznik, chce by
wszytskie akapity miały odstęp o 10px, czcionkę 12pt, kolor taki, itd itp,
potem w stronie piszę już tylko:

<p> lalal </p>
<p> ksdjfslkdfj </p>

>> Nie rozmawiamy o tym czy ktoś potrafi dobrze wyeksponować treść czy robi
>> stronkę z migającym tłem i masą obrazków. To da się zapsuć zarówno przy
>> użyciu css i xhtml'a, jak i również w najstarszych standardach.
>> Usiłuję Ci tylko wytłumaczyć że CSS + nowsze standardy są o wiele
>> lepszymi.
> Jakoś nei widzę tego. Widze skutki - skutki są takie, że zamiast
> napisać dobrą stronę w 3.2 piszą kiepską z 'najnowszymi' elementami.

O tym Ci już mówiłem, wszystko można spieprzyć jak się tylko chce, chodzi
jednak o to by pisać jak najwygodniej, jak najlepiej, jak najszybciej i
jak najbardziej elastyczniej. Z css jest nie tylko wygodniej, ale i lepiej
odzwierciedla rzeczywistość.

-- 
   Dominik  Chmaj       _|  _       o     o |_      ICQ: 101929211
 www.dominik.kei.pl    (_| (_) (\/) | (\) | |\        GG: 919564
      Rzeszów - łączmy się: news://news.tpi.pl/free.pl.rzeszow


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Thu 20 May 2004 - 14:44:26 MET DST