【问题标题】:How to get the text box on the right under the picture如何获取图片下方右侧的文本框
【发布时间】:2021-02-20 12:34:45
【问题描述】:

正如您在图片中看到的,右侧有一个带有一些文字和大量空白的框。 我的目标是在图片下方有文字,而我连续有 3 张图片很好地对齐。 当我尝试此操作时,图片不再对齐或图片不再裁剪。 我希望每张图片都具有相同的尺寸并且仍然清晰,但是后来出现了这个问题。

#content {
    width: 100%;
    max-width: 100%;
    margin: 20px auto;
}

form {
    width: 50%;
    margin: 20px auto;
}

form div {
    margin-top: 5px;
}

#img_div {
    width: 30%;
    margin-left: 2%;
    margin-right: 1%;
    margin-bottom: 3%;
    border: 2px solid #d8680c;
    float: left;
}

#img_div:after {
    content: "";
    display: block;
    clear: both;
}

img {
    float: left;
    object-fit: cover;
    width: 250px;
    height: 250px;
}

#pictext {
    word-wrap: break-word;
}
<div id="content">
    <?php
    while ($row = mysqli_fetch_array($result)) {
        echo "<div id='img_div'>";
        echo "<img src='fotopage\images/" . $row['image'] . "' >";
        echo "<p id='pictext'>" . $row['image_text'] . "</p>";
        echo "</div>";
    }
    ?>
</div>

【问题讨论】:

  • 不要对多个元素使用相同的ids,ids 需要在页面上是唯一的
  • @kerbh0lz 我这样做是因为我将图片上传到数据库,因此它们会显示在我的网页上,因此它们总是获得相同的 ID
  • 他们的id相同,无效!

标签: php html css image text


【解决方案1】:

使用类而不是使用 ID

ID 必须是唯一的,当您执行循环时,会有其他一些具有相同 ID 的 div

这样添加

 <?php
    while ($row = mysqli_fetch_array($result)) {
        echo "<div class='img_div'>";
        echo "<img src='fotopage\images/" . $row['image'] . "' >";
        echo "<p class='pictext'>" . $row['image_text'] . "</p>";
        echo "</div>";
    }
    ?>

确保通过 JS 或 JQuery 反映它们取决于您使用的是什么

【讨论】:

  • 您好,感谢您的推荐!如您所见,我总是给图片提供 id img_div,因为我将图片上传到此页面。上课会解决这个问题吗?因为它们仍然具有相同的样式等。
  • 我试过了。然后我所有的样式都不再起作用(我确实在css中更改了一个类的id)所有图片都在彼此内部,并且边框不再显示
  • 嗯,是的,您应该将用于样式的 ID 更改为类,例如:#img_div{ left:10px; } 好是 .img_div{ left:10px; }
  • #img_div{ 左:10px; } 好是 .img_div{ left:10px;这我知道,我也这样做了,但如果我改变这个,我的所有样式都不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-17
  • 2019-09-11
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多