【发布时间】:2023-04-04 11:35:02
【问题描述】:
这是我正在处理的页面: https://1stamender.com/testing-elements.php
这基本上是我网站上最新文章的列表,现在我有一个我希望改进的 UI。现在我已经使用引导程序和我自己的 CSS 定义了它,但似乎找不到解决方案。 基本上我可以看到由于 div 处理 float:left; 的固有方式,存在一些时髦的间距。
它将 div 推入一个新行,而不是尝试将自己推到它上面的 div 上,留下一些尴尬的间距。这可以通过设置高度来解决,但每篇文章的高度通常会有所不同。
我完全不知道如何明智地使用 CSS,我一直在谷歌搜索......
编辑:抱歉,我知道您想查看代码本身:
echo '
<div class="articlecontainer">
<div class="articlepicture2">
<a href="article.php?articlenumber='.$articlenumber.'"><img src="'.$mainpic.'" alt="'.$headline.'" width="100%"></a>
</div>
<div class="articledescription2">
<a href="article.php?articlenumber='.$articlenumber.'" class="articlelink2"><strong><span class="headlinearticle2">'.$headline.'</span></strong><br>
'.substr($content,0,100).'...</a>
<hr>
Written by: ';
$sqlauthor = "SELECT * FROM ACCOUNT WHERE USERNAME='$articleauthor'";
$resultauthor = $conn->query($sqlauthor);
if ($resultauthor->num_rows > 0) {
// output data of each row
$rowauthor = $resultauthor->fetch_assoc();
$authordisplayname = $rowauthor['DISPLAYNAME'];
echo '<i>'.$authordisplayname.'</i><br>';
echo 'Overall Rating: ';
echo '<img src="images/main/rating/'.$star.'.png" alt="Rating 0.5" width="80">';
}
echo '
</div>
</div>
';
CSS:
.articlecontainer{
background-color: #666;
border: solid 1px #000;
color: #fff;
padding: 0px !important;
margin-left: 20px;
margin-right: 20px;
margin-top: 10px;
margin-bottom: 10px;
padding-bottom:10px !important;
border-radius: 5px;
width: 25%;
float: left;
【问题讨论】:
-
只使用 flex - 开玩笑!你已经尝试了什么?看起来这可能是由您倾向于以特定方式使用浮动元素获得的 step-down 效果引起的。
-
您可以为三列添加变量,并始终将每个第 1 项添加到第 1 列,每 2 次添加到第 2 列,每 3 列添加到第 3 列变量然后打印出这些变量。
-
我认为这是我可以做的事情,但不幸的是,这意味着我需要创建一个 php 模数来判断它是左、中还是右,而且它对我来说似乎非常庞大。这么简单的问题真的没有 CSS 可以解决吗?
-
这称为砌体布局,这将有助于您进行谷歌搜索。
标签: javascript html css css-float push