Establecer el ancho como un porcentaje usando jQuery


85

¿Cómo puedo establecer el ancho de un div como porcentaje usando jQuery?

Respuestas:


133

Usando la función de ancho :

$('div#somediv').width('70%');

girará:

<div id="somediv" />

dentro:

<div id="somediv" style="width: 70%;"/>

3
¡Tengo ancho en una variable! ¿Cómo puedo llegar al% de ancho?
hemnath mouli

2
@hemnathmouli jQuery ("div # somediv"). width (myvar + "%");
Zorgatone

Tengo un elemento con un ancho del 24%, establecer el ancho como sugieres en 11% me da un ancho del 33%. Pensé que estaba agregando el ancho al ancho existente, pero como puede ver, 24 + 11 = 35 y no 33. ¿Podría tener alguna idea de por qué sucede esto?
Eugene

Sé que esta es una publicación antigua, pero me la encontré ya que es el primer resultado en Google. He notado que la función css () es un poco más rápida que width (), tal vez me equivoque.
Dohab

1
Estaba tratando de establecer un ancho usando, .width("20%")sin embargo, el elemento siguió configurándose width: 24%. Después de buscar en los documentos, resulta que esto está relacionado con la box-sizingpropiedad CSS . El uso .css({'width':"20%"})evitará este ajuste.
khartnett

14

Hemnath

Si su variable es el porcentaje:

var myWidth = 70;
$('div#somediv').width(myWidth + '%');

Si su variable está en píxeles y desea el porcentaje que ocupa del padre:

var myWidth = 140;
var myPercentage = (myWidth / $('div#somediv').parent().width()) * 100;
$('div#somediv').width(myPercentage + '%');

13

Aquí hay una alternativa que funcionó para mí:

$('div#somediv').css({'width': '70%'});
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.