Se hai usato {display: none;} e vedi ancora uno spazio (come 3px o giù di lì), allora è probabile che tu abbia spazi o new-line tra gli elementi nel tuo html che a volte possono causare renderer per visualizzare alcuni pixel tra questi elementi.
questo è davvero problematico e può essere molto difficile da identificare come il problema senza questa conoscenza, ma una volta che si sa, è avere due semplici soluzioni:
entrambi i casi, rimuovere tale spazio bianco tra i tag in il tuo html. (Sfortunatamente, ciò rende la tua messaggistica più complessa, quindi la seconda opzione potrebbe essere migliore.)
Oppure, nel proprio css, impostare la dimensione del carattere nel contenitore padre su 0px. ex: #parent{font-size:0px;}
e quindi inizializzarlo di nuovo per tutti i figli del genitore con #parent *{font-size:initial;}
.
#parent{
font-size:0px;
display:block;
}
#parent *{
font-size:initial;
}
.tab-label {
display:inline-block;
background: #eee;
border: 1px solid;
}
[name="tab-group-1"] {
display: none;
}
<div id="parent">
<input type="radio" id="tab-1" name="tab-group-1" checked>
<label class="tab-label" for="tab-1">Tab One</label>
<input type="radio" id="tab-2" name="tab-group-1">
<label class="tab-label" for="tab-2">Tab Two</label>
<input type="radio" id="tab-3" name="tab-group-1">
<label class="tab-label" for="tab-3">Tab Three</label>
</div>
fonte
2017-03-06 02:08:43
ciò che è sbagliato con l'input [type = "radio"]: checked {display: none;} ?? Dovrebbe nasconderlo in questo modo. Non so perché vorresti nasconderlo anche se – Danield