移动设备图像的不同宽度 - PHP

Different Width for Image if Mobile - PHP

下面您会看到,如果不是移动设备,我正在尝试为我的图片添加 40% width。但是,即使在桌面设备上,图像仍以 100% 的宽度显示。您可以在此处查看此页面:https://www.tattiniboots.com/product/terranova/

这是我正在使用的代码

require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;

// Any mobile device (phones or tablets).
if (!$detect->isMobile()) {
    add_action('woocommerce_after_single_product_summary', 'bbloomer_add_below_prod_gallery', 5);

    function bbloomer_add_below_prod_gallery()
    {
        global $product;
        $id = $product->id;
        if ($id == 5735) {
            echo '<div class="woocommerce-product-gallery" style="padding: 1em 2em; clear:left;">';
            echo '<center><h2>MOBILE</h2></center><img src="https://www.tattiniboots.com/wp-content/uploads/2019/02/conversion-1.png">';
            echo '</div>';
        }
    }
} else {
    add_action('woocommerce_after_single_product_summary', 'bbloomer_add_below_prod_gallery', 5);

    function bbloomer_add_below_prod_gallery()
    {
        global $product;
        $id = $product->id;
        if ($id == 5735) {
            echo '<div class="woocommerce-product-gallery" style="padding: 1em 2em; clear:left;">';
            echo '<center><h2>NOT MOBILE</h2></center><img src="https://www.tattiniboots.com/wp-content/uploads/2019/02/conversion-1.png" width="40%">';
            echo '</div>';
        }
    }
}

在 php 文件中回显 html 是一个坏主意,无论是为了可读性和调试。使用 inline css is also not a good thing. I would honestly recommend using media queries 而不是使用移动检测,因为它不是 100% 准确(它无法识别某些手机,您必须保持最新状态)。 综上所述,您是否正在尝试 "increase" 40% 宽度到 100% 宽度的图像?宽度不可能超过 100%。你可以尝试用"woocommerce-product-gallery"class增加周围div的宽度。 我还注意到这里有一个不一致之处:

if ( !$detect->isMobile() ) {
  ... 
   echo '<center><h2>MOBILE</h2></center><img src="https://www.tattiniboots.com/wp-content/uploads/2019/02/conversion-1.png">';
}

它看起来像是在检查它是否不是移动设备,并添加移动设备 img,然后相反。

我认为您选择了一个糟糕的解决方法 problem.the 最好的方法是使用 css(媒体查询)。 您不能在 html 标签宽度中使用“%”。

width 作为 img 标签内的一个属性总是有一个以像素为单位的值(它写的时候没有像素,就像数字一样),所以你写的方式是行不通的.

如果您想要宽度的百分比值作为 img 标记的 内联 属性,您应该使用 style 属性。所以你的 img 标签应该是这样的:

<img src="https://www.tattiniboots.com/wp-content/uploads/2019/02/conversion-1.png" style="width:40%;">

是的,通过简单地在 CSS 中声明大小调整选项即可解决此解决方案。请记住,也可以在 php 内添加 class 到您添加的图像,以进一步促进此 CSS 声明