【问题标题】:Getting a CSS attribute from PHP从 PHP 获取 CSS 属性
【发布时间】:2011-11-04 11:23:31
【问题描述】:

这是我第一次来这里询问(我曾多次访问该网站,但从未询问过)。好吧,让我们进入问题:

碰巧我正在开发一个实时图像调整器(我知道它已经存在,但我正在为我自己的项目做我自己的)。它有三个参数:图像路径(显然)、我要调整的大小和我要添加的额外边距。这个想法是在一个正方形的盒子里调整图像的大小。问题是,我要调整的大小取决于外箱的大小。例如,我有这个 HTML 代码:

<div class="image_outer_box">
   <img width="300px" height="199px" style=" margin: 65.5px 15px;" src="img.jpg">
</div>

“image_outer_box”的属性如下:

.image_outer_box
{
   height: 330px;
   width: 330px;
   border:solid 1px #737373;
}

我调用的函数是这样的:

liveResize($img, $size, $extramargin);

这里的问题是当我发送 $size 时,因为我必须知道“image_outer_box”的 CSS 属性才能正确调整大小。而且,如您所见,这不仅与“image_outer_box”中指定的大小有关,还与我要添加的边距有关。实际上,我想为图像添加 15px 的额外边距,并将图像调整为 300x300 以内。

有一种方法可以从这个特定的类中获取 CSS 属性并不重要,但如果我(和其他开发人员)可以在不知道图像所在容器的 CSS 属性的情况下应用该函数,那将会有所帮助放置。

如果有办法做到这一点,我会很棒。

谢谢! (其他时候我来这里寻找解决方案,我找到了!!!)

编辑:我找到了一种不需要获取 CSS 属性的方法,但我仍然想了解这方面的信息。感谢那些一直试图提供帮助的人!

【问题讨论】:

    标签: php css attributes image-gallery


    【解决方案1】:

    您想实际存储调整大小的图像,还是只是想显示调整大小的图像?如果是后者,以下解决方案可能会有所帮助:

    HTML

    <div class="image_outer_box" style="background:url('img.jpg') no-repeat; background-position:50% 50%; background-size:100%;"> 
    </div>
    

    CSS

    .image_outer_box
      {
      margin:10px;
      height: 330px;
      width: 330px;
      border:solid 1px #737373;
      }
    

    当然,这不允许您手动设置图像的宽度和高度,因为这完全取决于我们的 CSS。更改 CSS,图像的大小也会自动更改。我非常喜欢这种方法,但如果你想存储图像或者你想能够手动设置图像大小,它不会走得太远。

    【讨论】:

    • 好吧,实际上我并没有调整到 300x300,...我可以是 100x300 或 300x100 甚至 100x100……我真正要做的是根据原始尺寸重新调整图像的尺寸。另一方面,根据尺寸,边距会发生变化。
    • 看到你的例子我有个想法:我不需要给“image_outer_box”一个固定的尺寸。仅使用图像尺寸和其他一些属性(对于容器和图像),我可以拥有一个非常漂亮的图像库。我会把代码上传给大家看看。
    【解决方案2】:

    我认为为了了解 CSS 并根据图像的当前客户端状态进行更改,您应该(我的意思是我会推荐)使用 Javascript,也许如果您想通过 AJAX 保持函数调用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-02
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      • 2012-05-19
      相关资源
      最近更新 更多