1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
/**
* Enveloppe l'élément spécifié dans une division dont la taille est obtenu à
* partir de la taille max ou des tailles max spécifiées.
* L'élément enveloppé est placé au centre (horizontalement et verticalement) de l'enveloppe.
* Les cas de figures des paramètres sont les suivants :
* Cas 1
* -----
* - L'élément à enveloppé
* - La taille maximale (côté du carré représentant l'espace de l'enveloppe)
* Cas 2
* -----
* - L'élément à enveloppé
* - La largeur maximale de l'élément (largeur de l'enveloppe)
* - La hauteur maximale de l'élément (hauteur de l'enveloppe)
* Cas 3
* -----
* - L'élément à enveloppé
* - La largeur maximale de l'élément (largeur de l'enveloppe)
* - La hauteur maximale de l'élément (hauteur de l'enveloppe)
* - La propriété overflow de l'enveloppe
* Par défaut la propriété oveflow de l'enveloppe est à hidden
*/
SereniXUtils.wrapAndCenter=function() {
if (arguments.length < 2) return;
var maxWidth;
var maxHeight;
var elt = arguments[0];
var overflow;
if (arguments.length == 2) {
maxWidth = arguments[1];
maxHeight = maxWidth;
overflow = "hidden";
}
else {
maxWidth = arguments[1];
maxHeight = arguments[2];
if (arguments.length>= 4) overflow = arguments[3];
else overflow="hidden";
}
if (typeof elt == 'string') elt = SereniXUtils.getElementById(elt);
if (elt == null) return null;
var middle = document.createElement('div');
middle.appendChild(elt);
var div = document.createElement('div');
div.appendChild(middle);
div.style.width = maxWidth;
div.style.height = maxHeight;
div.style.display="table";
div.style.oveflow=overflow;
var userAgent = navigator.userAgent.toLowerCase();
if (userAgent.indexOf("msie")>=0 ||
userAgent.indexOf("microsoft internet explorer") >=0) {
middle.position="absolute";
middle.top="50%";
middle.textAlign="center";
middle.style.width = "100%";
elt.style.position="relative";
elt.style.top="-50%";
elt.style.textAlign="left";
}
else {
middle.display="table-cell";
middle.verticalAlign="middle";
}
elt.style.marginLeft = "auto";
elt.style.marginRight = "auto";
return div;
} |
Partager