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 |
#2 · Zasláno: 6. 11. 2012, 12:52:43
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 |
#3 · Zasláno: 6. 11. 2012, 13:08:36 · Upravil/a: quatzael
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!! |
||
Časová prodleva: 11 let
|
0