x-ƒ (x_f)

x-ƒ: Spriedelējumi par web-tehnoloģijām

2004. gada 19. aprīlis, 11:32 am, atsauksmēm

(Neesmu web guru un viss te rakstītais prasās pēc jūsu atbildēm, piezīmēm un pamācībām, ja tādas var sniegt. :) )

Pirmā. Pa brīvdienām sāku veidot jaunu S2 stilu savam žūrnālam
Ekrāna nospiedums un šoreiz tas būs mans stils, nevis no kāda pārņemts un pārtaisīts. Nu, vismaz dizains toč'. Turklāt – tā kā tas būs mans, tad tas būs publiski pieejams. :) Bet jaunu gribu tāpēc, ka pašreizējais man liekas smags un saspiests. Turklāt krāsas vairs nepatīk. (Par ko gan es domāju..?) Nu, jā, un vēl tur ir pilns ar tabulām, par ko neesmu sajūsmā.
<div> – spēks. <table> – vājuma pazīme. :)
Nu, lūk. Un pie reizes arī palasīju CSS2 rekomendāciju. (Manuprāt, tas ir labākais veids, kā kaut ko mācīties – ja tas ir man interesanti un reizē arī vajadzīgi.) Lasāmviela sver 2 megabaisus :) taču ir samēra interesanta. Jāsaka, žēl, ka tā ir tikai rekomendācija, nevis specifikācija. Daudz interesantu un noderīgu lietiņu, kuras vai nu pārlūki vispār neatbalsta, vai arī tikai daži vai daļēji.

Nu, piemēram. Var uzrakstīt garu, neoptimizētu un nepārāk savietojamu JavaScript kodu, lai noturētu kādu maziņu logo lapas labajā, apakšējā stūrī, pat tad, kad tā tiek ritināta. Vai arī izmantot position:fixed. Super! Ja vien tāds milzis kā Internet Explorer (for Windows, jo Mac versija to it kā suportē) atbalstītu. :(

Es nesaprotu. Microsoft var vis kaut kādas tur "baigi stilīgās fīčas" likt iekšā savā pārlūkā (innerHTML, filter, scrollbar colors, ..), bet nevar to dabūt pēc iespējas tuvāk CSS2. Tik dauc jauk' lietiņ' paliek aiz borta – content, font-size-adjust, font-stretch, max-height, max-width, min-width, ... Un taču CSS3 it kā jau top. Un kā ta' Opera, Netscape / Mozilla var?

Otrā. Un vēl viena lietiņa par CSS izmantošanu. Re, kur tabula:
The following table summarizes CSS2 selector syntax:
PatternMeaning
*Matches any element.
EMatches any E element (i.e., an element of type E).
E FMatches any F element that is a descendant of an E element.
E > FMatches any F element that is a child of an element E.
E:first-childMatches element E when E is the first child of its parent.
E:link
E:visited
Matches element E if E is the source anchor of a hyperlink of which the target is not yet visited (:link) or already visited (:visited).
E:active
E:hover
E:focus
Matches E during certain user actions.
E:lang(c) Matches element of type E if it is in (human) language c (the document language specifies how language is determined).
E + FMatches any F element immediately preceded by an element E.
E[foo]Matches any E element with the "foo" attribute set (whatever the value).
E[foo="warning"]Matches any E element whose "foo" attribute value is exactly equal to "warning".
E[foo~="warning"]Matches any E element whose "foo" attribute value is a list of space-separated values, one of which is exactly equal to "warning".
E[lang|="en"]Matches any E element whose "lang" attribute has a hyphen-separated list of values beginning (from the left) with "en".
DIV.warningHTML only. The same as DIV[class~="warning"].
E#myidMatches any E element ID equal to "myid".
Nekā sarežģīta tur nav, viss liekas saprotams. Par E > F un E + F lietošanu gan neko nezinu. Neesmu redzējis reālu izmantošanu. :) Bez vienu lietu gan es nesaprotu – kāda jēga ir no E#myid? ID taču var būt tikai viens un ir unikāls. Tad kāda no tā jēga?
Un vēl viens sīkums. Ja es vēlos, lai kāds HTML elements izmantotu vairākas klases, tad man jāraksta <span class="klase skola">..</span> vai <span class="klase, skola">..</span>?

Trešā. Bišku zem šīs tabulas atradās šitāds zaļš teksts.
Note. CSS gives so much power to the "class" attribute, that authors could conceivably design their own "document language" based on elements with almost no associated presentation (such as DIV and SPAN in HTML) and assigning style information through the "class" attribute. Authors should avoid this practice since the structural elements of a document language often have recognized and accepted meanings and author-defined classes may not.
Tieši zaļš, nevis sarkans. Arī tas jau ir aizdomīgi. Un es tā arī nesapratu tā jēgu. Skaidrs, ka tā drīkst un var darīt, bet kapē to neiesaka?

Ceturtā. Izmantojot no Endrju projekta flist 0.1 paņemtu un uzlabotu kodu, uztaisīju pārlūku. Nekā sarežģīta. Taču problēmas sagādāju sev pats, kad pacentos to uzlabot. :) Oriģinālā versija piedāvā jebkuru failu ielādēt. Manējā – atkarībā no faila tipa, to var vai nu ielādēt vai apskatīt uzreiz. Piemēram, attēlus. Tiktāl viss ok. Bet man uz servera glabājas arī liela izmēra attēli (fonam, piemēram). Nu, lūk. Ir skaidrs, ka tāds reti kad ietilpināsies pārlūka ekrānā. Tāpēc palaboju PHP kodu, lai tas iegūtu katra attēla izmērus (kas visādi citādi, protams, ir nezināmi). Pēc tam uzrakstīju dažas JavaScript funkcijas, kas pārbauda, vai attēls puslīdz satilpinās pārlūka ekrānā un, ja ne, tad samazina to. Noklišķinot parāda pilno attēlu.
Problēma. Ēēm.. Es to rakstīju ap divpadsmitiem naktī un.. Nešķiet, ka attēls tiek samazināts īsti proporcionāli. :) Vai kāds varētu, lūdzu, paskaidrot, kā to izdarīt proporcionāli? :)
Man ir šitā (JS), bet matemātika nekad nav bijusi mana stiprā puse: :)
attieciba = attela_platums / attela_augstums;                  /* un viss notiek otrādi,
jaunais_platums = parluka_platums - 100;                         ja lielākā ir otra mala */
jaunais_augstums = Math.round(jaunais_platums / attieciba);
Pārbaudīju ar daudziem attēliem, bet attieciba pirms un pēc izmēru maiņas kaut kā īsti nesakrīt. :)
Tas darbojas līdzīgi kā Internet Explorer to izdara automātiski, ja attēls ir par lielu (parādot to pogu ar četrām bultiņām), tikai šitais darbojas arī ar Operu vai Netscape.

Piektā. Sīkums. Es nezinu, kāpēc es īsti tā daru, taču jau vairāk kā pusgadu es vairs neizmantoju <b> un <i> un to vietā lietoju <strong> un <em>. Starpības taču it kā nav, tomēr, kāpēc es tā daru, es vairs neatceros. :) Viens it kā ir fiziskais formatējums, otrs – loģiskais. Vai kā..?

Viss, ko es citēju, ir nācis no W3C CSS2 rekomendācijas.