Nem működik a vertical-align
sziasztok,
Csináltam egy képgalériát, ahol van egy kis divslider ahol ke lehet válogatni a képet amit megszeretnénk nézni nagyban.A probléma a következő: a nagyképet amikor megjelenítem nem akarja függőlegesen középre igazítani azokat a képeket amelyek jóval kissebbek mint a keret.Gondoltam a vertical-align az jó megoldás lehet, de ugy néz ki nem. kérem lessétek meg nekem mi lehet vele a baj mert én beszorultam.
■ Csináltam egy képgalériát, ahol van egy kis divslider ahol ke lehet válogatni a képet amit megszeretnénk nézni nagyban.A probléma a következő: a nagyképet amikor megjelenítem nem akarja függőlegesen középre igazítani azokat a képeket amelyek jóval kissebbek mint a keret.Gondoltam a vertical-align az jó megoldás lehet, de ugy néz ki nem. kérem lessétek meg nekem mi lehet vele a baj mert én beszorultam.
- function galeria(kszulo,x,y){
- var galeriakeret=document.createElement('DIV'); /* az egész galéria kerete*/
- galeriakeret.setAttribute('ID','galeriakeret'); /* ebbe van benne az összes */
- galeriakeret.setAttribute('style','position:absolute;left:'+x+'px;top:'+y+'px;'); /*egyéb ide tartozó cucc*/
- var kepmegjelenito=document.createElement('DIV'); /*az a keret ami megjeleníti a kisképeket nagyban */
- kepmegjelenito.setAttribute('ID','kepmegjelenito');
- kepmegjelenito.setAttribute('style','position:absolute;left:-6px;top:-7px;width:400px;height:350px;border:11px ridge #990000;text-align: center;vertical-align: middle;');
- var nagykep=document.createElement('IMG'); /*ez a nagykép kerül bele a nagykép keretébe*/
- nagykep.setAttribute('ID','nagykep');
- nagykep.setAttribute('valign','middle');
- nagykep.setAttribute('src','galeria/1.jpg');
- nagykep.setAttribute('style','max-width:400px;max-height:350px;');
- var kepkivalaszto=document.createElement('DIV'); /*a keret ahol lehet válogatni a kisképek között*/
- kepkivalaszto.setAttribute('ID','kepkivalaszto');
- kepkivalaszto.setAttribute('style','position:absolute;left:-190px;top:380px;width:600px;height:110px;border:4px ridge #990000;overflow:hidden;');
- var kiskepek=document.createElement('DIV'); /*ebbe a divben vannak benne ténylegesen a kisképek */
- kiskepek.setAttribute('ID','kiskepek');
- kiskepek.setAttribute('style','position:absolute;left:5px;top:5px;');
- var x=0
- var keptav=10;
- for (var i=1; i<= 13;i++){
- kiskepgenerator(kiskepek,'galeria/'+i+'.jpg',i,100,100,x); /*itt tölti fel a progi a kisképes divet képekkel*/
- x=x+100+keptav;
- }
- var balra=document.createElement('IMG'); /*balra mozgató animált gomb*/
- balra.setAttribute('ID','balra');
- balra.setAttribute('style','position:absolute;left:-170px;top:270px;width:60px;height:100px;');
- balra.setAttribute('onMouseDown','document.balra.src="bal1.jpg";balra()');
- balra.setAttribute('onMouseUp','document.balra.src="bal2.jpg";stop()');
- var jobbra=document.createElement('IMG'); /*jobbra mozgató animált gomb*/
- jobbra.setAttribute('ID','jobbra');
- jobbra.setAttribute('style','position:absolute;left:-100px;top:270px;width:60px;height:100px;');
- jobbra.setAttribute('onMouseDown','document.jobbra.src="jobb1.jpg";jobbra()');
- jobbra.setAttribute('onMouseUp','document.jobbra.src="jobb2.jpg";stop()');
- kepmegjelenito.appendChild(nagykep); /*itt rakom össze, hogy ki kinek a szülője*/
- kepkivalaszto.appendChild(kiskepek);
- galeriakeret.appendChild(kepmegjelenito);
- galeriakeret.appendChild(kepkivalaszto);
- galeriakeret.appendChild(balra);
- galeriakeret.appendChild(jobbra);
- document.getElementById(kszulo).appendChild(galeriakeret);
- }
- /* a segéd függvények:*/
- function kiskepgenerator(kiskepek,src,id,a,b,x){
- var kep=document.createElement('IMG');
- kep.setAttribute('ID',id);
- kep.setAttribute('src',src);
- kep.setAttribute('onClick','mutatnagyban('+id+')');
- kep.setAttribute('style','position:absolute;left:'+x+'px;top:0px;width:'+a+'px;height:'+b+'px');
- kiskepek.appendChild(kep);
- }
- function mutatnagyban(id){
- document.nagykep.src='galeria/'+id+'.jpg';
- }
- function jobbra(){
- }
- function balra(){
- }
A kódodat fölösleges volt
CSS DIV-ben vertikálisan
google
div
ettable
megjelenéssel, abba rakj egy másik elemet, amitable-cell
megjelenésű… és akkor már használhatod avertical-align
tulajdonságot…Egyébként tényleg volt szó erről itt és a google is megadta volna a választ…
ie
ie8 már támogatja
(Picit bugolt is még -vagy csak én nem értettem hozzá / pl hiába adtam a cellának relative positioningot, a belerakott absolute positioned elem nem maradt benne, megállt a az első nem table elemnél melynél position relative volt.)
Üdv:
Gábor
Ha már kifújt minden szóba
div
-eket használsz. Ezért lesznek a HTML5-benheader
,nav
és hasonló új elemek, hogy ne csak az általános célú konténer elemeket lehessen használni. Meg aztán adisplay: table
tényleg csak a táblázatos iskolát hozza vissza új köntösben, az igazi megoldás majd a CSS grid modul széles körű elterjedése lesz.