Dato il seguente esempio HTML semplificato:
- mettere un footer dietro contenuti, lo rendono bottom-appiccicoso
- quando si scorre fino alla fine della pagina: piè di pagina deve svelare da dietro contenuti
sono stato in grado di fare questo, ma quando ho html
e body
sia impostato è overflow-x
proprietà a hidden
quei link nel piè di pagina non sono cliccabili.
Update per situazione:
so che è possibile impostare z-indici per #content
a 2 e per footer
a 1 per rendere i link cliccabile, ma che interferisce con un multizoom.js da un diverso parte della pagina e non è di mio interesse.
Domanda:
Ciò che è l'impostazione overflow-x
sia html
e body
a che fare con i link nel footer? E perché entrambi gli elementi impostano questa proprietà? (Se solo uno di loro omette overflow-x
i link sono cliccabili)
In realtà per me non è un problema piú per impostare overflow-x
nel progetto originario, perché era un residuo tentativo styling obsoleto ed è stato rimosso già. Ma sono curioso del perché c'è un comportamento così strano?
Esempio:
/* This statement prevents the links in the footer
* from being clickable */
html, body {
overflow-x: hidden;
}
/* necessary statements to put footer behind content and
* make it bottom sticky behind content */
#content {
/* opaque bg color to block out footer*/
background: lightgrey;
/* border bottom to see where content ends */
border-bottom: 1px solid black;
/* arbitrary height as content placeholder to provoke scrolling */
height: 1500px;
/* use margin to stretch the page in order for
* footer to become visible at the end of scrolling */
margin-bottom: 120px;
}
footer {
/* bg color to distinguish footer from content */
background: grey;
/* make footer 120px high, centered */
padding: 50px;
line-height: 20px;
text-align: center;
/* put footer one layer behind content so that content scrolls
* before footer while footer itself is fixed at the bottom */
z-index: -1;
position: fixed;
bottom: 0;
/* use all the width possible */
width: 100%;
}
body {
/* make page use the whole panel */
margin: 0;
}
<html>
<body>
<div id="content">
Here is the content, scroll down until end of page
</div>
<footer>
<a href="#">Here is the footer link (not clickable at the moment)</a>
</footer>
</body>
</html>
Quando si imposta il parente '# contenuto' con' z-index: 2; 'e footer' z-index: 1; ', tutto funziona. Sembra che il corpo abbia un problema con 'z-index: -1;'. – Huelfe
So che funziona con z-indexs 2 vs 1 (e aggiornerò la domanda) ma che interferisce con uno script multizoom (che sarebbe un problema completamente diverso) – xmoex
@xmoex Quindi '# contenuto' non dovrebbe avere z-index? O è 'footer' che dovrebbe avere' z-index: -1; '? – Green