Jump to content
php.lv forumi

freima satura centrēšana + scrollbars


Recommended Posts

Posted

sveiki,

par cik no freimiem centos izvairīties, bet šoreiz sanāca taisīt vienu projektu, kur bez freima nu vienkārši neiztikt, atdūros pie problēmas:

divi freimi dalīti horizontāli. augšējais un satura freims. augšējais freims ir sava veida headeris, noteikta augstuma, bez scrolliem, bez resaiza. viss ok.

apakšējas freims attiecīgi skrollojas, ja pa vertikāli ir vairāk info, nekā ekrāns spēj parādīt.

abu freimu saturi centrējas (vienalga ar ko: vai ar margin: 0 auto; vai position:absolute un negatīvo marginu) un ir vienāda konstanta platuma.

 

viss ir ok, līdz tam brīdim, kad apakšejā freimā parādās vertikālais scrollbars - tas cūka nobīda visu apakšējā freima saturu par attiecīgu pikseļu skaitu pa kreisi. protams tas ir loģiski, doh. bet nu nekādīgi netieku vaļā no šitā gļuka. jo centrējas pēc visa ekrāna platuma, līdz ar ko vertikālais scrolleris attiecīgi tikai to platumu samazina un samazinās arī centrējamā attiecība un tas atkal noved pie tā, ka augšējais freims un apakšējais nesakrīt. jā variants ir piekabināt skrollerus defaultā abiem freimiem, bet nu izskatās pēc %#@!%. googlu arī izrakņāju, bet neko prātīgu neatradu. scrollera platumu arī nevar precīzi zināt, javascriptu un tādas perversijas negribas darbināt un tas arī domājams īpaši labi nerealizētos. piefreimot vēl vairāk to lapu negribas.

 

reāli gribas dzirdēt vai kāds ir ar ko tādu saskāries un kā atrisinājis, ja atrisinājis. mani nepamet sajūta, ka atrisinājums ir pavisam elementārs, kuru neesmu pamanījis garāmskrienot :)

bez offtopica lūdzu - atvieglosim darbu adminiem un cilvēkiem, kuri izmanto meklētāju :) paldies

  • Replies 32
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

1) ar javaskriptu uzzināt scrollbara platumu (laikam tad no augšējā freima), un tad, ja apakšējam freimam infromācijas ir padaudz un ir skrolls, tad veikt kaut kādu nobīdi, bet tas ir ārkārtīgi līki.

2) gan augšējā gan apakšējā freimā visu saturu likt divos/teiblos ar pikseļos fiksētu platumu.

 

Neko citu iedomāties nevaru.

Posted

1. nu ar javascriptiem tā būs kā būs.. ir jau apdomāti varianti, bet nu tiks izmantots tikai galējā variantā, ja klients nepiekāpsies aizmirst par centrēšanu vai neatradīšu citu labāku veidu

2. man jau tagad ir fiksēts platums, un no tā jau arī rodas tā problēma

Posted (edited)

Um? Tev freimā ir kaut kāds piem. div elements ar pikseļos norādītu platumu (mazāku par lapas platumu), kurā ir viss saturs, un tas saturs pie skrollbara parādīšanās tomēr nobīdas?

 

Pat patestēju aiz brīnumiem, un nekas nebīdas.

 

edit: ok, varbūt ar šādi taisītu saturs nebūs pašā centrā (vēl ņemot vērā izšķirtspēju dažādību), taču, manuprāt, ir labāk, kā ne vienā līnijā.

Edited by Stopp
Posted
1) ar javaskriptu uzzināt scrollbara platumu (laikam tad no augšējā freima

Nakamreiz arii savu augumu meriisi ar JavaScript :D

scrolbars winam (par pareejiem esmu parliecinaats tikai 80%) ir 20px...

1. ieliec tajaa augseejaa freimaa labajaa pusee ,aiz visa satura 20px <div> OR transparent.gif (nu taa lai viss pabiidaas pa kreisi par 20Px)

un apaksejam freimam uzreiz uzliec scrolbaru...

2. ja satura platums ir fikseets (1024) tad visu ieliec ieksh <div> ar fikseetu platumu 1004 (20px rezervee scrolam)

P.S. sho der atcereeties ka: ekraana_platums_ar scrolbaru= ekrana izskirtspeja-20px...

Posted

Stopp - es visu skaidri un gaiši uzrakstīju pirmajā postā, neatkārtošos. bīdās uz visa - FF, IE, Opera, Safari.

 

Grey_wolf - biju jau šitādu variantu izdomājis, bet bet bet - nevar pateikt precīzi scrolla platumu, jo pat windā man liekas, ka varēja to mainīt. pietam windas lietotāji tai lapai būs pamaz. un sanāk tāpat kkāda nobīde nesmuka - kaut vai viens pikselis, bet paskats uzreiz nekāds

Posted

uzskatāms piemērs: http://alternative.lv/tmp/frm/

pamēģini resaizot logu augstumā. pietam nobīde nav pa scrollbāra tiesu. lai gan īstenībā... hmm... ja nav par skrollbāra tiesu, tad cik tad viņa nobīdās? moš tā nobīde visiem ir defaulta? to gan varētu novērst

Posted

Gmm.. līdzīgs variants kā Grey_Wolf. Nebūs baigi precīzi centrēts, bet nu pateikšu tāpat:

Abos freimos kontentu ieliek iekš div ar width = ~95%. Kontentu iekš tiem iecentrē.

 

Enīvei domāju, ka visi šādi risinājumi nebūs mazāk gļukaini, kā kāds javascript risinājums, tāpēc iesaku pieturēties pie tā. Veido tā, lai tiem, kam nav js, būtu viens no šeit pieminētajiem risinājumiem, bet tiem kam ir - tiem iedot kaut kādu smalku javascript. Un to visu var uztaisīt tik unobtrusive ka pašam prieks :).

Posted

nēnu es saku - man neder variants, kurš "tjipa" strādā. piemērā pats redzi, ka pikseļa nobīde jau ir pretīga.

pagaidām esmu apstājies pie vertikālā scrollbāra piešķiršanas freimam (tikai freimam, nevis freima satura body vai html) - kaut kā neliekās normāli. uz viena parādās browsera uz cita nē...

Posted (edited)

hmnc, manā variantā vienīgā neprecizitāte būs kopējais centrējums, bet gan augša, gan apakša būs vienādi centrēti. Nobīdes nebūs starp tiem.

 

UPDATE: Nepadomāju līdz galam - nekas tur nestrādā.

Edited by andrisp
Posted

tieši tā :)

es jau visus šitos variantus krustu šķērsu esmu izbraukājis. ja nebūtu mēģinājis, tad nemaz neprasītu palīdzību :)

Posted

pagaidām esmu apstājies pie tā, ka nobīde ir nevis par scrollbāra tiesu, bet gan par kkādu mistisku lielumu, kurš izskatās visiem browseriem vienāds. tikai kā lai normāli piedabūn strādāt vertikālo scrollu freimam (tieši visam freimam)

Posted

bet kāpēc nevar taisīt ar xhttprequest (ar kuru sūti kauč htmlu un liec viņu tabulas tbody, divos vai vienalga kur)? vajag atbalstīt kādus ultravecus browserus vai arī mēģini saļipināt kaut ko kopā no divām dažādām lapām?

Posted

v3rb0 - tas būtu aptuveni kā braukt medībās ar tanku :)

pietam augša ir pie viena arī izvēlne, kurai ir arī doma būt fiksētai augšā.


×
×
  • Create New...