用php获取div高度并将其应用于图像

时间:2010-01-12 09:47:05

标签: php wordpress

正如标题所说,我正在尝试使用php来获得<的高度。 DIV>然后使用该值,应用于图像。这实际上会缩小图像或拉伸图像。由于我还是新编码,我在网上搜索,我发现的只是在javascript中做这个的解决方案,这是这样的

DivHeight = document.getElementById("TheDiv").offsetHeight

但我找不到任何使用php的方法。

5 个答案:

答案 0 :(得分:3)

php是一种服务器端语言,你无法获得div的高度。

您可以通过添加属性

来指定图像大小

答案 1 :(得分:1)

您希望在渲染div对象之后设置图像大小以填充所述div对象(或某种效果),但div对象的大小是可变的。在这种情况下,您不能使用height: 100%,因为父对象(在这种情况下为div对象)必须具有CSS代码中定义的明确值。 Javascript是这个问题的唯一答案。

这样做:

<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#theImagesId').css({"height":$(".theDivsId").height(), "width": $(".theDivsId").width()});
    });
</script> 
</head>

你还需要下载从jquery引用的这个文件(缩小版本就足够了): http://docs.jquery.com/Downloading_jQuery#Download_jQuery

源: http://www.w3schools.com/jquery/jquery_intro.asp

答案 2 :(得分:0)

你无法在PHP中获得div的高度,因为当呈现页面并显示div时,PHP已经消失了。唯一的方法是使用javascript获取高度,然后通过AJAX获取图像。

你知道,你可以通过改变图像的宽度和高度来缩小图像。结果并不是最优的,但它可能适用于您的目的。

答案 3 :(得分:0)

正如其他人所说,你不能用PHP做到这一点。但为什么不使用CSS?

如果包含DIV的高度和宽度,您可以设置图像样式以填充该空间(在此过程中拉伸或收缩):

.imgclass {
  height: 100%
  width: 100%
}

但是,如果您想在服务器上实际调整图像大小,那么您必须使用AJAX并通过Javascript请求新图像(这可能很慢,具体取决于服务器生成它们需要多长时间)。

我建议不要使用后者,除非你预先构建一堆大小并使用匹配最接近的大小,然后在浏览器中使用CSS调整大小。

答案 4 :(得分:0)

如上所述,'客户端'代码必须这样做,因为HTML(div,图像等 - 你试图操纵的东西)在客户端呈现。这意味着javascript。我建议使用jquery库 - 以下行应该这样做:

$('#theImagesId').css({width: $('#theDivsId').height()+"px"});

然而,你想要做的事听起来有点奇怪?还要记住,如果已经有一个图像或div中加载的东西,返回的高度可能会小于它应该的值。这是因为一旦DOM加载(因此,所有实际的html代码),javascript将执行,但不一定是其中的图像。