Jump to content
php.lv forumi

2/3-column switchable layout


Venom

Recommended Posts

Mazliet iegruzījos (:

 

Mēģinu izveidot būtībā 3-kolonnu struktūru, kurā varētu izlaist kādu no kolonnām (jebkuru no).

Varbūt kāds kaut ko līdzīgu ir redzējis?

Gribētos lai:

* kontent-kolonna būtu htmlā pirmā (var izlaist) un tai jāstiepjas cik vien atļauj atlikušais width (šo gan vajadzētu).

* neizmantototu absolūtās pozīcijas

* varētu izņemt vai nu labo, vai nu kreiso menu

 

vot tas pēdējais punkts iegriež visiem izmēģinātiem layoutiem (vairumā var izņemt labo, bet kreiso - ņi-ņī)

Link to comment
Share on other sites

Mazliet iegruzījos (:

 

Mēģinu izveidot būtībā 3-kolonnu struktūru, kurā varētu izlaist kādu no kolonnām (jebkuru no).

Varbūt kāds kaut ko līdzīgu ir redzējis?

Gribētos lai:

* kontent-kolonna būtu htmlā pirmā (var izlaist) un tai jāstiepjas cik vien atļauj atlikušais width (šo gan vajadzētu).

* neizmantototu absolūtās pozīcijas

* varētu izņemt vai nu labo, vai nu kreiso menu

 

vot tas pēdējais punkts iegriež visiem izmēģinātiem layoutiem (vairumā var izņemt labo, bet kreiso - ņi-ņī)

15383[/snapback]

 

tu jau droši vien ar DIV-iem mēģini.. !? :)

pirms iez "uz daugavu" tomēr liec tabulas...

 

PS: domāju ka vajag tad taisīt dinamisku CSS...

 

if (leftEnabled)
  bodyLeft = 300px;
else
  bodyLeft = 0 px;

 

& etc

Link to comment
Share on other sites

Vienkārši uztaisi 2 vai cik nu tur vajag css failus

 

1.

#col3{display: none;}

#col2{width: xxxpx;}

 

2.

#col3{display: block;}

#col2{width: xxpx;}

 

un tā tālāk. Ne?

Link to comment
Share on other sites

Mēģinu izveidot būtībā 3-kolonnu struktūru, kurā varētu izlaist kādu no kolonnām (jebkuru no).

Varbūt kāds kaut ko līdzīgu ir redzējis?

Gribētos lai:

* kontent-kolonna būtu htmlā pirmā (var izlaist) un tai jāstiepjas cik vien atļauj atlikušais width (šo gan vajadzētu).

* neizmantototu absolūtās pozīcijas

* varētu izņemt vai nu labo, vai nu kreiso menu

 

Tātad, ja mēs vēlamies šādu izkārtojumu un tā, lai content būtu 1 bloks htmlā.

[left|content|right]

 

htmliski tas izskatās šādi.

<div id="container">

<div class="sub-container">
<div class="content">vidus, kas nāk pirmais</div>
<div class="right">labā mala otrā</div>
</div>

<div class="left">kreisā mala pēdējā</div>
</div>

var arī sagrupēt savādāk - atkarībā no bloku nozīmības.

 

floato visu kā vien vēlies jeb kā katrā konkrētā gadījumā tev vajag.

.left pa kreisi un sub-container pa labi, iekš tā content un right kā gribi

vai arī .left pa labi un .sub-container pa kreisi un iekšā abus liec kā gribi.

 

Ja nav kāda no blokiem, tad attiecīgi stilos pamaini izmērus, lai attiecīgais bloks, kas palicis bez "draudziņa" aizņemtu atlikušo daļu.

 

Protams, ka tas viss dinamiski veidojās izmantojot tavu skriptu valodu, kas var būt php. Lai mainītu izmērus atkarībā no situācijas, saliec vai nu id vai papildus klases divos vai containerii. Piemēram, ja nav labās malas .right, tad piemetam klāt .noleft un cssā definējam .noleft .content {.content+.right platums}

 

Nestādos priekšā kā to varētu ģenerēt dinamiski, izņemot ārā blokus un nepieliekot klāt papildus klases. Ja nu gadījumā tāda bija jautājuma būtība, tad tas izklausās nejēdzīgi. Galu galā, tā lapa tiks ģenerēta dinamiski, un pielikt vienu niecīgu klasīti nevajadzētu sagādāt grūtības. ;)

Link to comment
Share on other sites

pamēģinājos gan šādi, gan citādi, bet vēlamo rezultātu nedeva. papildus tiek izmantots tas, no kā gribēju izvairīties - fixed-width body.

 

Att. uz klases pievienošanu - nebūtu jau problēma, bet, ja runājam par xhtml-compliancy, tas <style> jāraksta iekš <head>, t.i. "jāzina", vai būs jāizvada left/right menu vēl pirms body izvadīšanas, no tā gribēju izvairīties (viena no iezīmēm, kāpēc man nepatīk šablonu sistēmas ir tieši tas, ka tiek ģenerēts "viss iespējamais vēl pirms body").

 

Beigu beigās, atsakoties no tā, ka kontentam jābūt pirmam, izveidoju apm. šādu risinājumu.

NB: "_height:1%" ir IE "hacks", ir aizdomas, ka IE CSS pārseris mēģina izgrauzties līdz nākošam definējumam neņēmot vērā "neatļautos" simbolus, resp. uztver to kā height:1%, ko firefox savukārt neredz.

 

izmanto pilnu lapas width, var griezt ārā left/right/content vai vairākus

Link to comment
Share on other sites

izmanto pilnu lapas width, var griezt ārā left/right/content vai vairākus

15496[/snapback]

 

Tik ilgi, kamēr šis ir tikai karkass, tas strādās, bet padomā, ko tu darīsi, kad tev tajā kontentā būs jāliek iekšā īsts kontents, kas būs tabulas, citi divi utt.?

Šobrīd tu uztaisīji haku, lai IE rādītu viduci, bet daudzās vietās bez width definēšanas tu neko neizdarīsi. Un tas nedrīkstēs būs 100%, jo IE nespēs noteikt attiecību, ja parentam nav izmēru. Bet nu labi - cīnies. :rolleyes:

Link to comment
Share on other sites

×
×
  • Create New...