Autor Zpráva
quatzael
Profil
Mám <div> element, který se mi pomocí jquery vysouvá a zasouvá (slideDown a slideUp) a potřebuju, aby se výška tohoto <div> elementu řídila podle obsahu vevnitř.
Zasouvání a vysouvání funguje tak jak má, pouze tehdy když mám nastavenou výšku tohoto elementu na nějaké konkrétní hodnotě, například height: 100px;

Problém nastává, když definování výšky zruším nebo nastavím na height: auto;

Mám tam totiž u toho vysouvacího elementu nastaven background-image, který se po tom zrušení pevné definice výšky objeví jen při vysouvání a zasouvání. Když se element vysune obsah tohoto elementu se zobrazí normálně (uvnitř jsou další divy i s obrázky na pozadí), ale zároveň zmizí background-image toho vysunutého elementu..

U všech elementů tam mám position: relative;

Vypadá to jako by se ten vysouvací element po vysunutí opět stáhl, ale zároveň vytvořil místo pro elementy uvnitř, které normálně zobrazí a vytvoří pro ně místo (tzn. posune ostatní elementy dolů.)

Víte někdo prosím co s tím..??
Chamurappi
Profil
Reaguji na quatzaela:
který se mi pomocí jquery vysouvá a zasouvá
Tedy nastavuje se jeho height na nějakou konkrétní hodnotu, tzn. během animace je to stejný stav, jako bys neautomatickou height nastavil sám ručně. Po skončení vysouvání se nastaví původní height.

Vypadá to jako by se ten vysouvací element po vysunutí opět stáhl
Pravděpodobně je jeho přirozená (automatická) výška 0. Jeho obsah si nevynucuje roztažení. Buď proto, že je celý floatovaný (a nevyclearovaný), nebo proto, že je absolutně pozicovaný.
quatzael
Profil
Dobrej postřeh, mám tam ten floating, kterej tam, ale potřebuju. Ale jak ho mám vyclearovat?? mám za ty floutující elementy dát nějakej extra element s vlastností clear: both; ??


Já bych to normálně vyřešil místo floatingu tím, že bych u těch floutujících elementů nastavil display: inline-block; ale to mezi nima z nějakýho důvodu vytváří větší mezeru a tím pádem se mi tam pak vedle sebe nevejdou..


Jinak o tom, že flouting dělá tyhle problémy s výškou jsem vůbec netušil..


Supr, funguje to!! Přidal jsem tam jenom prázdnej <div> s vlastností clear: both; a je to vyřešený!!!

Jenom by mě ještě zajímalo, proč se do celkový výšky obsahu vnějšího elementu nezapočátávají i marginy vnitřních elemetnů..


Jenom by mě ještě zajímalo, proč se do celkový výšky obsahu vnějšího elementu nezapočátávají i marginy vnitřních elemetnů..

Tak nic.. započítává!! měl jsem tam místo margin-top jenom top!!!

Všechno funguje tak jak má!! Mockrát díky!!

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:

0