Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 调整一组HTML元素的大小_Jquery_Html_Css_Resize - Fatal编程技术网

Jquery 调整一组HTML元素的大小

Jquery 调整一组HTML元素的大小,jquery,html,css,resize,Jquery,Html,Css,Resize,我有类似的HTML代码 <div id="resizeThis"> <div style="background: url(...)">...text...images...</div> ... </div> 但它只缩小了重新定居的人,而没有缩小他们的孩子 我能对背景、文本等做些什么 我想这样做,以便生成缩略图(通常是原始大小的25%)您不能更改内联元素的宽度(例如p和span)。只能设置块元素的宽度(显示:块)。当然,您可以更改内联元素的显示属

我有类似的HTML代码

<div id="resizeThis">
<div style="background: url(...)">...text...images...</div>
...
</div>
但它只缩小了重新定居的人,而没有缩小他们的孩子

我能对背景、文本等做些什么


我想这样做,以便生成缩略图(通常是原始大小的25%)

您不能更改内联元素的宽度(例如p和span)。只能设置块元素的宽度(显示:块)。当然,您可以更改内联元素的显示属性,但这将导致更多的麻烦

使用文本元素唯一能做的就是更改字体大小。但是,无法为包含文本的元素设置绝对宽度。文本可能需要刷新,或者会出现一个滚动条。

试试这个

$("#resizeThis *").css('width', '64px').css('height', '64px');
操作员将仅选择直接子项

上面将选择
#resizeThis
的所有子级,但您也需要div。尝试:

$("#resizeThis").find("*").andSelf().css('width', '64px').css('height', '64px');
另外,您是否考虑过使用CSS类而不是多次调用
.CSS()

例如


我找到了一个完美的解决方案

我只是:

$('#resizeThis').css('-webkit-transform', 'scale(0.5)');
并且它会正确调整其下所有元素的大小!:)


还有一个壁虎版本。这非常适合我的需要。

不要使用浏览器调整图像大小。它拍的照片不好。在服务器端生成缩略图。(例如:使用imagemagick)我不能那样做。。。我需要在客户端执行此操作,并拉伸动态HTML,而不仅仅是图像。。。我不能要求用户每5秒拍摄一次屏幕截图并调整其大小。@Ernon:更新的浏览器在调整大小时似乎使用双三次重采样。然而,在服务器端生成缩略图的更好理由是更快地加载图像。一些1024x768的JPEG文件的加载速度比这个尺寸的25%要慢得多。谢谢,这让我开始了!现在我需要用一些巧妙的逻辑调整文本大小。这不是一个“完整的解决方案”,因为它在Firefox和IE中不起作用
$("#resizeThis *").find("*").andSelf().addClass("MyCssClass");
$('#resizeThis').css('-webkit-transform', 'scale(0.5)');