如何动态更改对象的宽度并保持对象居中?

到目前为止,我有:

function (theObject) {
  var origWidth = theObject.width();
  var newWidth = origWidth*2;  /* arbitrary example */

  theObject.width(newWidth);

  theObject.css('margin', '0 auto');
}


最后一条语句不起作用。我究竟做错了什么?

由于“空白”问题,我真的不希望使用转换。

顺便说一句,theObject的css样式已预先指定为

#theObject {
   margin: 0 auto;
   width: #px;
   height: #px;
}

最佳答案

您实际上过于复杂了您的解决方案。不需要JavaScript。

根据评论,您说您具有以下要求:


当窗口调整大小时,我的元素应调整大小
我的元素只能调整大小,以至于无法在窗口中显示


您应该能够使用2个CSS属性完成此操作。宽度/高度和最大宽度/最大高度。

使用max定义元素的最大尺寸,并使用width / height定义实际尺寸。

通过使用相对单位,您可以使宽度/高度根据父级或窗口的宽度/高度动态调整自身大小。

我熟悉的相对单位包括:



大众和大众
EM
雷姆


%是父级的X%。
当指定宽度时,它将是父级宽度的X%。

vh和vw是视口值。 vh是视口高度,vw是视口宽度。如果我没记错的话,视口就是窗口中用于显示内容的空间。排除网址栏之类的东西。

em是fontsize值;但是,它应该适用于宽度和高度尺寸。 em表示当前字体大小。

rem是一个fontsize值,它表示根目录(或文档)的字体大小。

10-04 22:49
查看更多