php - 动态加载图像并保持纵横比

标签 php html css

我有一个图片库,我正在使用 PHP 动态添加图片。有些图像是水平的,有些是垂直的。如何在不知道图像是水平还是垂直的情况下设置图像的宽度/高度并保持纵横比?现在图像显示为正方形。理想情况下,我希望客户无需调整代码即可更改图像。

<?php
$filelist = glob("*.JPG");
foreach ($filelist as $file) {
    echo '<div class="gallerycell">';
    echo '<a href="'.$file.'"><img src="'.$file.'" width="300" height="300"></a>';
    echo '<p>'.substr($file,strpos($file,'/') + 0,-4).'</p>';
    echo '</div>';
}
?>

.gallerycell {
    display: inline-block;
    width: 300px;
    height: 300px;
    text-align: center;
    margin: 30px;
}

最佳答案

要使图像完全响应,而不改变它们的纵横比,请将这些规则添加到img 元素 :

img {
  display: block; /* removes bottom margin/whitespace */
  width: 100%; /* also scales with 100vw */
  max-height: 100vh; /* doesn't scale with 100% */
}

关于php - 动态加载图像并保持纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46759735/

相关文章:

php - IN 子句仅返回 1 行

javascript - 使用 PHP 将 JS 嵌套数组从 localStorage 保存到 MySQL 表

javascript - 如何使 php 提交按钮跟随带参数的 URL 与 Echo(当前设置)?

php - 如何显示同一个id的多条记录?

php - 是否可以使用 Eloquent 方式为模型获取不同模型类型的集合?

php - 如何在 symfony2 中设置主键变量

javascript - 如何修复 : CSS animation reset everytime user clicks a button

javascript - 下拉时 Div 背景颜色发生变化

javascript - Jquery CSS 在另一个容器中单击时显示当前 div

css - Xamarin 使用垂直 Collection View 形成 x 轴溢出