2013-07-01 3 views
0

J'essaie de faire un changement de largeur DIV à mesure que la taille du navigateur change.Comment puis-je dimensionner un élément par incréments par rapport à la taille du navigateur?

Pas dans un rapport qui peut être géré avec un pourcentage, mais avec une dépendance de la taille de l'écran. J'essaie de faire un div 80% max de la largeur du navigateur, aussi longtemps il est divisé par 20. si l'écran est de 1000px de large, de sorte que la div sera 800px, si l'écran est 1024px, il sera encore 800px (cause que 80% de 1024 est 819.2, non divisé par 20). À l'exception de faire beaucoup de requêtes de médias, je ne sais pas comment faire cela.

+0

Êtes-vous ok en utilisant javascript? Pensez-y si vous ne faites pas juste une tonne de requêtes médiatiques. –

+0

Aussi, quelle est l'exigence de le rendre divisible par 20? En ayant une meilleure idée de ce que vous devez réaliser, nous pourrions offrir de meilleurs conseils. – justinavery

+0

Vous pourriez abuser d'un préprocesseur comme SASS pour générer autant de requêtes média que nécessaire dans une boucle. Si c'est pour une propriété d'un élément, ce serait un bon essai je pense – FelipeAls

Répondre

0

Cela devrait vous aider à avancer. Il utilise jQuery pour redimensionner la div par incréments de 20px. Ce n'est pas parfait, mais c'est un début.

http://jsfiddle.net/ydtdS/3/

function tale(div,w) { 
if(w%20==0) { 
    $(div).text(w); 
    $(div).css("width",w); 
} else { 
    w = Math.floor(w/20)*20; 
    $(div).text(w); 
    $(div).css("width",w); 
} 
} 
$(window).resize(function() { 
    var windowWidth = $(window).width(); 
    tale(".twenty",windowWidth); 
}); 

tale(".twenty",$(window).width()); 
Questions connexes