[HTML] Line-height non funziona ç_ç

Koboshi

Nuovo Utente
7 Mag 2018
9
0
1
33
Ciau a tutti! Avevo bisogno di creare un tastino scroll-to-top per l'e-commerce che sto curando al momento. Per realizzarlo ho creato un div tondo con all'interno un'icona tonda, entrambi delle stesse dimensioni. L'icona è una della libreria di font awesome e di conseguenza si comporta come testo quindi per centrarla verticalmente ho usato line-height solo che dall'alto dell'icona spunta uno "spicchio" di div. Qualcuno di voi saprebbe dirmi come mai? Vi allego il codice e spero che qualcuno di voi possa aiutarmi a venir a capo del mio problema. Ringrazio sin da ora chiunque di voi vorrà provarci.

HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento senza titolo</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
#toTop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    background-color: #FFFFFF;
    color: #ffc11e;
    cursor: pointer;
    font-size: 40px;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    line-height: 40px;
}
#toTop:hover {
    background-color: #ffc11e;
    color: #fff;
}
</style>
</head>
<body>
    
<div onClick="topFunction()" id="toTop" title="Go to top"><i class="fas fa-chevron-circle-up"></i></div>
    
    <div style="min-height: 2500px; background-color: #ccc"></div>

<script>

window.onscroll = function() {scrollFunction()};

function scrollFunction() {
    if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
        document.getElementById("toTop").style.display = "block";
    } else {
        document.getElementById("toTop").style.display = "none";
    }
}

function topFunction() {
    document.body.scrollTop = 0;
    document.documentElement.scrollTop = 0;
}
</script>
</body>
</html>
 

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
Ciao, ho testato il tuo codice e devo dire che inizialmente non sono riuscito a riprodurre il problema. In sostanza non vedevo lo "spicchio" che hai menzionato ma vedevo regolarmente l'icona tonda con un bordo attorno. Ho provato poi a variare qualche valore e ho capito che quel bordo non dovrebbe esserci, o almeno è ciò che ti aspetti (se ho capito bene).

Presumo che questo bordo (che forse può apparire come uno spicchio a seconda di come viene renderizzato il carattere stesso) dipenda dal fatto che l'icona (carattere) non si allinei e non si dimensioni perfettamente col contenitore. C'è da tener conto che, essendo un carattere, la sua grafica interna (nonostante sia un cerchio) potrebbe non corrispondere esattamente con i limiti della dimensione del carattere stesso o potrebbe comunque non essere così regolare. Inoltre questo, essendo un carattere, può essere trattato in modo differente da un normale elemento (come può essere un div) perché potrebbe subire delle "regolazioni" legate alla gestione del rendering propria degli elementi di testo che vengono visualizzati a schermo. Posso pensare quindi a funzioni che migliorano la leggibilità, a funzioni di antialiasing, allo zoom e altre varie caratteristiche che sono gestite del browser o addirittura del sistema operativo.

Detto questo, penso che sarebbe inutile cercare di far coincidere perfettamente i due "cerchi" (quello dell'icona/font con quello creato col div), potresti però risolvere in modi alternativi.

Uno tra vari è quello di cambiare icona, cioè usare quella analoga senza cerchio (che ha nome angle-up) opportunamente centrata nel div. A quel punto il cerchio sarà creato dal div stesso. Ovviamente i colori risulteranno invertiti per cui ti basterà riassegnarli opportunamente sullo stato normale e sull'hover.

Prova quindi a modificare l'elemento <i> in questo modo:
Codice:
<i class="fas fa-angle-up"></i>
e applicare questo CSS:
Codice:
#toTop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    background-color: #ffc11e;
    color: #fff;
    cursor: pointer;
    font-size: 40px;
    border-radius: 50%;
    height: 40px;
    width: 40px;
    line-height: 1;
    text-align: center;
}
#toTop:hover {
    background-color: #fff;
    color: #ffc11e;
}
#toTop>i {
    line-height: 0;
}

Prova e vedi se può andare.
 

Koboshi

Nuovo Utente
7 Mag 2018
9
0
1
33
Sì, è perfetto. Non so come ho fatto a non pensarci, mi sento proprio scema. Ti ringrazio tantissimo!
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Pagina html in stringa PHP 2
E Sostituzione Elemento Html PHP 3
G Elementi HTML HTML e CSS 1
K Visualizzare del html responsive in una Webview Sviluppo app per Android 0
T Domanda valutazione html LinkedIn 2022 pt3 HTML e CSS 7
T Domanda valutazione html LinkedIn 2023 pt2 HTML e CSS 15
T Domanda valutazione html LinkedIn 2023 pt1 HTML e CSS 1
MarcoGrazia Salvataggio HTML in database PHP 2
K posizionare variabile da pagina html all'iframe. Javascript 1
peppe0703 Come Estrarre dati da db wordpress e richiamarli in html esterno HTML e CSS 0
L problema collegamento file css con html HTML e CSS 1
D Informazioni da XAMPP su HTML PHP 0
R Immagini html HTML e CSS 2
K File audio in html, chi mi può aiutare? HTML e CSS 0
K Aiuto con file audio in html HTML e CSS 1
Antonio67 Lanciare file shell bash da html HTML e CSS 2
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
G Codice html Javascript 1
M Collegamento tra form html e script php PHP 4
L Ricezione dei dati su file php da modulo html PHP 6
F Creare elementi html con javascript Javascript 3
G Appicazione HTML per inserimento dai in Database Access Microsoft HTML e CSS 0
W visualizzare solo file html e sottocartelle di una cartella PHP 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
G img html HTML e CSS 3
M Come fare un countdown in HTML? HTML e CSS 4
D Stampa a video in altra pagina html Database 3
A inserire variabile php colore in div html PHP 2
F Tv in html Offerte e Richieste di Lavoro e/o Collaborazione 1
N Script elenco file HTML HTML e CSS 5
L salvare codice html in mysql PHP 3
Cosina htaccess redirect 301 senza estensione html Web Server 6
E Errore di lettura php in html PHP 8
M HTML e PHP Offerte e Richieste di Lavoro e/o Collaborazione 3
C Form email php su pagina index.html? PHP 21
Shyson Meglio Javascript o HTML? Javascript 4
P inserimento icone social tramite html HTML e CSS 1
Z Mod_rewrite da HTML in PHP PHP 3
L Collegare un form html ad un database access Javascript 2
P HTML integrazione wordpress HTML e CSS 0
C [RISOLTO]Inserimento variabile php in input html PHP 20
L Eliminare estensione .html HTML e CSS 9
max1974 html in tooltip Javascript 0
C Risalire al php da html PHP 27
felino Esportare tabella HTML in PDF, quale libreria usare? Javascript 1
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
L [RISOLTO] Stampa a video risultato count in html PHP 13
V Servizio design pagina web e download in self contained html file Discussioni Varie 1
F [PHP] Form html PHP 2
G Aiuto HTML, collegamento con un bottone a una <div> di un' altra pagna HTML e CSS 5

Discussioni simili