Ho un div per "classe" che contiene div per ogni "studente". Ogni div "studente" contiene un'immagine. Ecco il codice HTML:Devo aggiungere un pixel al div genitore
<div class="classroom">
<div class="student">
<img class="student-image" src="http://dnqgz544uhbo8.cloudfront.net/_/fp/img/home/f.AmzRdUdc4pEtCuGvU03WXQ.jpg">
</div>
<div class="student">
<img class="student-image" src="http://dnqgz544uhbo8.cloudfront.net/_/fp/img/home/k.jXX55KhHUWZGTAb-GpPkdg.jpg">
</div>
<div class="student">
<img class="student-image" src="http://dnqgz544uhbo8.cloudfront.net/_/fp/img/home/c.ZKQXc2Kc8-po-OK6AhDbtw.jpg">
</div>
</div>
Voglio visualizzare tutti gli "studenti" div in una linea in modo da utilizzare il seguente CSS:
body {
padding: 0;
margin: 0;
overflow: hidden;
}
html, body {
height: 100%;
}
.classroom {
position: relative;
height: 100%;
}
.classroom .student {
position: relative;
height: 100%;
float: left;
}
.classroom .student .student-image {
height: 100%;
}
Per gli studenti avranno abbastanza posto nella " classe" div, io uso jQuery per la calcolare la larghezza della 'classe':
$(document).ready(function() {
var w = 0;
$(".student").each(function() {
w += $(this).width();
});
$(".classroom").width(w);
});
Purtroppo il risultato non è quello che mi aspettavo. L'ultimo div "studente" scende alla riga successiva (come se non fosse stato assegnato float: left;
). Più strano è che quando si aumenta la larghezza del div "Classroom" in 1 pixel, il div ritorna alla sua posizione alla fine della prima riga.
Ho fatto quelle jsfiddles: Qui http://jsfiddle.net/U3gBG puoi vedere il problema. fare clic sul pannello dei risultati e utilizzare i tasti freccia per scorrere verso il basso e verso destra.
Qui http://jsfiddle.net/U3gBG/1/ è possibile vedere il risultato dell'aggiunta di 1 alla larghezza del div "classe" dopo il calcolo (la larghezza di "classe" è uguale alla somma della larghezza "studenti" più 1 pixel). Questo risultato è ciò di cui ho bisogno.
Non capisco perché devo aumentare la larghezza del div principale di 1? Perché sommare tutta la larghezza del div figlio non è sufficiente?
hai provato a guardare questo in più browser? forse è un problema specifico del browser? –
@EyalAlsheich: Sto usando il firefox più aggiornato e ne ho bisogno per lavorarci. – Naor
prova a cercare nella scheda di layout in firebug per vedere se riesci a trovare un elemento da 1 pixel sebbene guardando il tuo codice questo problema sembri molto strano. ho provato a guardarlo con il violino ma le immagini sono troppo grandi e non riesco a scorrere, per favore provalo con immagini più piccole in modo da poter vedere il problema –