我有一个看起来像这样的div块。
<div id="wrap">
<div id="columns" class="columns_4">
<figure>
<a href="item.php?id={$row['product_id']}"><img src="../resources/{$product_image}" alt="">
<figcaption>{$row['product_description']}</figcaption>
<span class="price">£{$row['product_price']}</span>
<a class="button" href="../resources/cart.php?add={$row['product_id']}">Add to Cart</a>
</figure>
</div>
</div>
尽管在display: inline-block;
中使用了CSS
,但div仍在层叠层叠,而不是并排坐着(这是我要达到的目的)。
在这种方法下我可能会出错。
CSS
*{
box-sizing:border-box;
-moz-box-sizing:border-box;
}
body {
background: #eee;
min-height: 1000px;
}
#wrap{
width: 90%;
max-width: 1100px;
margin: 50px auto;
}
.columns_2 figure{
width:49%;
margin-right:1%;
}
.columns_2 figure:nth-child(2){
margin-right: 0;
}
.columns_3 figure{
width:32%;
margin-right:1%;
}
.columns_3 figure:nth-child(3){
margin-right: 0;
}
.columns_4 figure{
width:24%;
margin-right:1%;
}
.columns_4 figure:nth-child(4){
margin-right: 0;
}
.columns_5 figure{
width:19%;
margin-right:1%;
}
.columns_5 figure:nth-child(5){
margin-right: 0;
}
#columns figure:hover{
-webkit-transform: scale(1.1);
-moz-transform:scale(1.1);
transform: scale(1.1);
}
#columns:hover figure:not(:hover) {
opacity: 0.4;
}
div#columns figure {
display: inline-block;
background: #FEFEFE;
border: 2px solid #FAFAFA;
box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4);
margin: 0 0px 15px;
-webkit-column-break-inside: avoid;
-moz-column-break-inside: avoid;
column-break-inside: avoid;
padding: 15px;
padding-bottom: 5px;
background: -webkit-linear-gradient(45deg, #FFF, #F9F9F9);
opacity: 1;
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
}
div#columns figure img {
width: 100%;
border-bottom: 1px solid #ccc;
padding-bottom: 15px;
margin-bottom: 5px;
}
div#columns figure figcaption {
font-size: .9rem;
color: #444;
line-height: 1.5;
height:60px;
font-weight:600;
text-overflow:ellipsis;
}
a.button{
padding:10px;
background:salmon;
margin:10px;
display:block;
text-align:center;
color:#fff;
transition:all 1s linear;
text-decoration:none;
text-shadow:1px 1px 3px rgba(0,0,0,0.3);
border-radius:3px;
border-bottom:3px solid #ff6536;
box-shadow:1px 1px 3px rgba(0,0,0,0.3);
}
a.button:hover{
background:#ff6536;
border-bottom:3px solid salmon;
color:#f1f2f3;
}
@media screen and (max-width: 960px) {
#columns figure { width: 24%; }
}
@media screen and (max-width: 767px) {
#columns figure { width:32%;}
}
@media screen and (max-width: 600px) {
#columns figure { width: 49%;}
}
@media screen and (max-width: 500px) {
#columns figure { width: 100%;}
}
[![screenshot][2]][2]
答案 0 :(得分:1)
取决于创建多个元素的方式:
答案 1 :(得分:0)
尝试设置:
#columns {
float: left;
}
答案 2 :(得分:0)
正如@Chan MT所说,它here(他的密码笔)正常工作。
使用您的网络检查器并检查div
的宽度,这可能会引起问题。我猜是因为您的页面大于您提供的页面,所以会有更多CSS可能导致级联。
的确,分享有关它的屏幕截图,以便我们查看是否是由于任何股利造成的。
您也可以用较少的“产品”来检查this codepen,这样就可以看出数量无关紧要。