如何动态更改对象的宽度并保持对象居中?
到目前为止,我有:
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值,它表示根目录(或文档)的字体大小。