Scroll automatico al post non funziona

Aperto da Flavio93Zena, Domenica - 08 Febbraio 2015 - 15:12

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Flavio93Zena

Questo è un bug strano... In pratica normalmente quando uno clicca sul link di un messaggio preciso (ad esempio: http://www.italiansmf.net/forum/index.php?topic=1410.msg9143#msg9143 invece di http://www.italiansmf.net/forum/index.php?topic=1410.0) la pagina dovrebbe "scrollare" automaticamente all'apertura fino al messaggio stesso, però non succede e il topic viene sempre aperto al primo messaggio qualsiasi sia il link specifico cliccato. Qualche idea? :/

Giusto per chiarire... Se premo il link al messaggio #2 scrolla comunque al primo, se premo il link al #3 scrolla al primo ecc.

emanuele

Suggerirei di cambiare:
#forumposts .post_separator {
    display: none;
}

a:
#forumposts .post_separator {
    clear: both;
    visibility: hidden;
    height: 0;
}

Dovrebbe sistemarlo.

Flavio93Zena

Ora ho capito come faceva lo script ad andare giù in automatico -_- grazie mille, in effetti ha funzionato :D Non avevo testa di provare prima O:-) ;D
*marca risolto*

Flavio93Zena

Bump per un vecchissimo topic che mi è tornato nuovamente utile (grazie!) :) Curiosità, in che casi può accadere che non sia visibile (oltre a me che l'avevo tolto, lol)? Perchè ho appena visto un tema portato da 1.1 con la stessa stringa e mi ha fatto pensare se in 1.1 esistesse del tutto la possiblità di utilizzare questo scroll automatico.

emanuele

In 1.x dubito fortemente ci potessero essere simili problemi, dato che il 90% del tema è realizzato a tabelle e quindi clear non aveva alcuna utilità.

Flavio93Zena

Hmm, ma allora mi domando perchè avesse display: none anche lì ;D

emanuele

Onestamente non ricordo dov'era il problema (tuo sito, qui, altrove), ma in generale, non dovrebbe essere il display:none il problema.
Il problema è la congiunzione di display:none ed elementi flottati tutt'intorno.
Col display:none, l'elemento diventa di dimensioni 0 e, essendo circondato da float, viene "sparato" su fino a dove "possibile", inoltre, il clear non ha in pratica alcun effetto su un elemento di dimensioni 0, quindi quel che è stato necessario fare è dare delle dimensioni all'elemento (togliendo il display:none l'elemento hr torna ad essere un display:block), renderlo invibile e renderlo di altezza 0 in modo da non influenzare l'aspetto della pagina.

In un tema a tabelle, il <a> è sicuramente contenuto all'interno di una tabella, e la tabella è di sicuro non floted, come non lo sono le eventuali tabelle al suo interno, quindi il problema non si pone.

Differenza di markup:
<div>
    post
</div>
<hr class="post_separator" />
<a id="msg123"></a>
<div>
    post
</div>
<hr class="post_separator" />
<a id="msg456"></a>

<table>
    <tr>
        <td>
            <a id="msg123"></a>
        </td>
    </tr>
    <tr>
        <td>
            <a id="msg456"></a>
        </td>
    </tr>
</table>

Flavio93Zena

Il problema era sul mio sito ;) ma mi è tornato utile per un sito sul quale sto lavorando che aveva lo stesso display: none e cambiando il codice nel modo da te suggerito ha funzionato di nuovo :P

E grazie per la spiegazione, essendo css e template ti seguo perfettamente :)

Discussioni simili (3)