Autor Zpráva
David1256
Profil
Dobrý den,

chtěl bych se zeptat, zda někdo nemáte nápad, jak vyřešit toto: Mám na webu články a v jednotlivých článcích jsou obrázky. Některé z nich plavou vpravo a některé vlevo. Chtěl bych se zeptat, zda nejde nějak udělat, aby když je float left, tak měl obrázek rozdílný margin nebo jakoukoliv jinou vlastnost, než když je flaot right. Zkoušel jsem to přes JS, ale nefungovalo mi to...
<script type="text/javascript">
function float_obrazku(){
if (window.document.img.style.float=='right'){
window.document.img.style.margin-left:5px;
else
window.document.img.style.margin-right:5px;
}
</script>
<body onLoad="float_obrazku();"> 
Díky za všechny rady.
Trejpa
Profil
David1256:
Nenastavovat obrázkům float do inline stylu nebo do parametru align, ale místo něj nastavit třídu. Tu pak nastylovat více vlastnostmi:

<img src=obrazek.png class=vpravo>
<img src=obrazek.jpg class=vlevo>

.vpravo { float: right; margin-left: 2ex; }
.vlevo { float: left; margin-right: 2ex; }
David1256
Profil
Jde o to, že novinky se vkládají do webu přes CKeditor, kde nastavují užvatelé vlastnost obtékání zprava nebo zleva, ale okraje tam jdou zadávat jen ve výši horizontální a vertikální okraje, takže jenom pravý nebo jenom levý nelze nastavit. Ano, mohli by zadávat přes CKeditor class, ale opravdu to nejde udělat elegantněji než nutit redaktory článků vkládat classy přes editor?
Someone
Profil
David1256:
window.document.img.style.margin-left:5px;
Myslim, že by se to mělo zapsat takto:
window.document.img.style.marginLeft = 5+'px';
ale stále si nejsem jistý funkčností.
David1256
Profil
Someone:
Ani s tímto zápisem nefunguje.
Trejpa
Profil
David1256:
<mimo téma>
Chyb je tam více. Ten skript by snad fungoval, kdyby jsi znal lépe syntaxi JavaScriptu a domýšlel i nechtěné stavy, jako margin right u neplovoucího obrázku. Bohužel ti to i po opravě zpracuje jen jeden obrázek, který se jmenuje img. Pro více obrázků (asi stejně bez jména) by se to muselo cyklit.

<script>
function float_obrazku()
{
if (window.document.img.style.cssFloat=='right')
    { window.document.img.style.marginLeft="5px"; }
if (window.document.img.style.cssFloat=='left')
    { window.document.img.style.marginRight="5px"; }
}
</script>
<body onLoad="float_obrazku();"> 

<img src=obrazek.gif name=img style=float:right>
</mimo téma>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: