ugrás a tartalomhoz

CSS Expression

Wabbitseason · 2007. Jan. 22. (H), 10.14
Nagyon hasznosnak találom azt az Internet Explorer "feature"-t, hogy CSS értékként Javascript kifejezést is meg lehet adni.

Példa:
#container {
  width: expression((documentElement.clientWidth < 725) ? "725px" : "auto");
}
#leftcolumn {
  height: expression(document.getElementById("rightcolumn").offsetHeight);
}
Talán a legnagyobb áldása az lehet, hogy így könnyen szinkronizálhatom egy elem szélességét/magasságát egy másik elemével.

Más böngészők -- tudtommal -- nem támogatják ezt a lehetőséget; ma reggel viszont az jutott az eszembe, hogy ha már open source, talán javasolhatnám a Firefox fejlesztőinek ezt az újítást.

Előtte azonban a véleményeteket szeretném kérni.

Ti hogy látjátok, szívesen használnátok a "CSS expression"-t, vagy ez maga a gonosz megtestesülése?
 
1

gonosz megtestesulese :)

Grandmaster · 2007. Jan. 22. (H), 10.41
Velemenyem szerint a gonosz megtestesulese, ahogy Te is emlitetted.

Az elso feature, amit Te is emlitettel a Firefox-ban es mas hasonloan jo modern bongeszokben CSS-bol kontrollalhato. Emiatt talaltak ki pontosan a min-width-t.

A masodik feature-nek, az eddigiek soran meg nem lattam volna szuksegeseget.

Arrol nem is beszelve, hogy akarhanyszor probaltam IE alatt expression-t hasznalni, mindig a bongeszo lefagyasa lett a vege. Emiatt is messze elhatarolodok tole.
12

Nekem még mindig tetszik

Wabbitseason · 2007. Jan. 23. (K), 00.26
A masodik feature-nek, az eddigiek soran meg nem lattam volna szuksegeseget.

Én már többször is. Jellemzően persze arra lett volna szükségem, hogy egy másik, már létező elem megfelelő tulajdonságát/értékét lemásoljam.

Szóval nekem valami olyasmi hiányzik a CSS-ből, hogy:
#elem {
  width: copyValue(masikElem);
}
Ez azt csinálná, hogy megkeresné a "masikElem" id-jú elemet, és annak a width értékét -- bármekkora is legyen éppen -- átvenné. Nyilván ezt használhatnám akár min-width-tel is, de valószínűleg érthető, mire gondolok.

Vagy még jobb lenne, ha össze lehetne kötni több elemet, és azokhoz közös minimum értéket lehetne rendelni, így hozva létre tetszőleges mennyiségű, változó szélességű, de azonos magasságú oszlopot.

Hehe, álmodik a nyomor. :)

Na, ezt lehetne megoldani az expressionnel.

Arrol nem is beszelve, hogy akarhanyszor probaltam IE alatt expression-t hasznalni, mindig a bongeszo lefagyasa lett a vege. Emiatt is messze elhatarolodok tole.

Pedig a gyakorlat teszi a mestert. Persze, a Javascript bonyolult világ, de nem az eszköz a hibás.
13

css3 media query

Jano · 2007. Jan. 23. (K), 01.13
Van egy olyan terv, hogy css szabályok csak bizonyos feltételek teljesülése esetén érvényesülnének. Ezzel szépen le lehet kezelni az ilyen eseteket. Ez a css3 media queries. Pontosan az olyan problémák megoldására használható (majd) mint amit feltételezek neked van.

A CSS-nek megvan a saját logikája. Lehet elemeket a másiktól függően méretezni, de ez a függős egyirányú: méghozzá a szülőhőz képest. Képzeld el, ha a CSS szabályaid körbehivatkoznának!

Ha még további CSS technikákat fogsz megismerni, látni fogod, hogy valójában a szabvány nagyon erős és elképesztő dolgokat is meg lehet valósítani.
2

Inkább szabványosság

janoszen · 2007. Jan. 22. (H), 10.49
Inkább csinálnák meg szabványosra az IE-t és pörgetnék föl egy kicsit a CSS fejlesztését, mindjárt sokkal könnyebb lenne a dolgunk.
3

nem nyerő

vbence · 2007. Jan. 22. (H), 11.50
Ha javascriptben kell meghekkelned a böngészőt, hogy működjön a dizájn, akkor vagy maga a CSS hiányos, vagy a böngésző CSS támogatása. Ha valami nagyon újat szeretnél, amire a CSS még nem képes, akkor még mindig használhatod a javascriptet, de ne legyen az az elterjedt, hogy az oldal megjelenése is hiányt szenved ha neadjisten kikapcslja valaki a javascriptet.
4

Baj: ha js nem megy akkor CSS is rossz

Jano · 2007. Jan. 22. (H), 12.35
Az ötlet alapja jó szerintem. A probléma az, hogy ha js le van tiltva, vagy akár az expressionben található kifejezésben van olyan dolog amit nem ért az adott böngésző, vagy nem valid értéket ad a kifejezés vissza akkor a CSS se fog működni.

A másik probléma, hogy olyan dolgokra használnád amire valójában a CSS is képes.
5

szabványosság, JS tiltás

virág · 2007. Jan. 22. (H), 13.10
Proclubnak igaza van abban, "hogy inkább csinálnák meg...", de nem csinálják, így marad a "ha", ami mindig a kicsinek szívás, jelen esetben a fejlesztőknek...

Ha a JS tiltva van, akkor egy csomó egyéb része sem fog (valószínűleg) működni pl. egy Ajaxra épülő, de akár "hagyományos" weblapnak. Szóval...

(most mondjam azt, hogy aki a JS-t kikapcsolja az vessen magára? :) nem mondok, ilyet, mert lehet olyan eset, amikor nincs JS, de az bizonyosnak tűnik, hogy aki egy "mai", "korszerű" (elcsépelt szavak?), böngészőben futó alkalmazást, portált stb. akar használni, az ne kapcsolja ki a JS-t. persze csak szerintem, ettől még azt csinál a felhasználó amit akar és magasról kakil a véleményemre.
6

Lehet, persze

janoszen · 2007. Jan. 22. (H), 15.45
Persze, nehet szarni a JS-t nem támogatókra és a Google-nak meg a felolvasóprogramoknak aztán tényleg édesmindegy, hogy hogy néz ki a lap... (Kérdés, meddig...)

De nem mondanám azt, hogy az egész dizájn-problémára az a globális megoldás, hogy hekkeljük meg JS-sel a CSS-ünket. Főleg nem, hogy a kedvenc szoftvermonopolistánk végre aktivizálta magát és elkezdett, ha nem is öles léptekben, de a szabványosság felé haladni.

Én jó esélyt látok arra, hogy a böngészőgyártók után a W3C is meghallja a webprogramozók segélykiáltásait és csinál valamit, főleg, hogy lehetőség is van / lesz arra, hogy a valóságba átültetődjenek a dolgok. Pláne, hogy tudtommal a WL is elég komoly kapcsolban áll a W3C-vel...
7

JS nélkül még nagyon boldog életed lehet

vbence · 2007. Jan. 22. (H), 16.44
Természetesen valami web2es őrültséghez kell a javascript. De ha ez az expression módszer eltejed, akkor minden valódi ok nélkül is megövetelné egy átlagos oldal a JS működését. És ez igazán baj (lenne).

Ezzel a "vessen magára" hozzállással megkérőjelezhetnéd a CSS dizájnt vagy a böngészőfüggetlenséget is. A látogatók 70%a így is látja az oldalt. Felolvasóprogramot hazsnál? Vessen magára.

Arról nem is beszélve, hogy a böngészők javascript támogatása mégkevésbé egységes, mint a CSS támogatásuk.
8

Támgatás

Max Logan · 2007. Jan. 22. (H), 17.07
Arról nem is beszélve, hogy a böngészők javascript támogatása mégkevésbé egységes, mint a CSS támogatásuk.

Miért van az, hogy van egy szabvány, születik egy termék és nem a szabványt implementálják, vagy csak részben, vagy olyan kiegészítésekkel ami nem a szabvány része? Ezt a mai napig nem tudom megérteni. Nekem az lenne a logikus, ha piacra dobok egy terméket, akkor min 99%-osan implementálom a szabványt.
9

Ie vs...

janoszen · 2007. Jan. 22. (H), 17.12
Ha megnézed, az IE-n kívül mindenki rettenetesen igyekszik a szabványt betartani. Legalábbis CSS terén. Javascriptre meg nincs szabvány, max az ECMAScript de az enyhén szólva se jó szabványnak, mert megengedi a futtatókörnyezet-specifikus parancsokat. Csókolom.

Az IE meg... azóta is az IE6-os kódbázissal dolgoznak, ami enyhén szólva még régi. Sztem több értelme lett volna újraírni az egészet. Csak valszeg az az összes létező IE specifikus oldalukat galyra vágta volna. Szóval NC (no comment).
10

üzlet

Jano · 2007. Jan. 22. (H), 17.22
A MS az IE6 megjelenése után egyszerűen nem volt rákényszerítve a további fejlesztésekre, mivel a böngésző piacon monopol helyzetbe került. Egyszerűen a fejlesztőket átcsoportosították és a böngésző évekre megrekedt az IE6 szintjén.

Ebből a téli álomból az rázta fel a MS-ot, hogy elkezdtek piacot veszteni. Megjelent a Firefox és más alternatív böngészők és szépen leharapdálták az IE részesedését.

A biztonsági hibák, a funkció hiányok és a szabványtalanság megoldása várt rájuk. Első sorban az első kettőre figyelve jött ki az IE7. Az, hogy mennyire szabvány támogató az IE7 továbbra sem érdekelte szerintem a MS-ot, mert nem lehetett megkerülni. Pár bugot megjavítottak, és pár alapvető, könnyen javítjató CSS hiányt orvosoltak, hogy befoglyák a fejlesztők száját. És talán, hogy a saját online fejlesztőik életét is megkönyítsék.
11

a válasz egyszerű

Sulik Szabolcs · 2007. Jan. 22. (H), 22.03
Mivel nem szabványok vannak, hanem ajánlások. És ez nagy különbség. Senkit nem kötelez semmi, hogy kövesse őket (hacsak a józan ész nem).

Az MS azt gondolta, hogy a Windows monopóliumára támaszkodva monopól helyzetbe jut a böngészők piacán is az IE-vel. Ez meg is történt. Ennek az volt a lényege, hogy így viszont az internet feletti uralmat (értsd html formátum, ...) is besöpri magának. Ám bizonyos okokból ez nem jött össze.
Tudod, ha elég nagy vagy akkor nem betartod a szabályokat, hanem létrehozod őket. A baj csak az, hogy nem mindig jön be :-)

Nincs itt mit nem érteni: semmi személyes, csak üzlet.