我才刚刚开始,我花了几个小时在这上面,但无法想出解决方案。 我有一个 3 列布局,当我尝试在列之间添加边距或填充时,该布局会中断。
我希望当浏览器高于 992px 时,3 列都位于同一行。在 768px 和 991px 之间,我希望前 2 列占据顶行的 50%,第三列占据下面的屏幕宽度并占据 100%。任何小于 767px 的东西都应该堆叠在一起。
* {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
}
.h1 {
text-align: center;
}
.row>div {
margin: 10px;
}
.itemname {
float: right;
background-color: gold;
margin-top: 0;
text-align: center;
font-size: 1.5em;
border: 1px solid gray;
height: 30px;
width: 100px;
}
.desc {
padding: 20px 10px 20px 10px;
}
@media (min-width: 992px) {
.item1,
.item2,
.item3 {
float: left;
width: 33.3%;
border: 1px solid gold;
background-color: bisque;
/*margin: 10px;*/
}
}
@media (min-width: 768px) and (max-width: 991px) {
.item1,
.item2 {
float: left;
width: 50%;
border: 1px solid gold;
background-color: bisque;
}
.item3 {
float: left;
width: 100%;
border: 1px solid gold;
background-color: bisque;
}
}
<h1 class="h1">Our Menu</h1>
<div class="row">
<div class="item1">
<p class="itemname">Chicken</p>
<p class="desc">Item Description: Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam deleniti quod asperiores, doloribus expedita quam officia perferendis qui consectetur enim!</p>
</div>
<div class="item2">
<p class="itemname">Beef</p>
<p class="desc">Item Description: Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam deleniti quod asperiores, doloribus expedita quam officia perferendis qui consectetur enim!</p>
</div>
<div class="item3">
<p class="itemname">Sushi</p>
<p class="desc">Item Description: Lorem ipsum dolor sit amet consectetur adipisicing elit. Ullam deleniti quod asperiores, doloribus expedita quam officia perferendis qui consectetur enim!</p>
</div>
</div>
* {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
}
.h1 {
text-align: center;
}
.row>div {
margin: 10px;
}
.itemname {
background-color: gold;
margin-top: 0;
text-align: center;
font-size: 1.5em;
border: 1px solid gray;
height: 30px;
width: 100px;
}
.desc {
padding: 20px 10px 20px 10px;
}
.row {
display: flex;
flex-wrap: wrap;
}
.item1,
.item2,
.item3 {
width: 100%;
border: 1px solid gold;
background-color: bisque;
}
@media (min-width: 768px) {
.item1,
.item2 {
width: calc(100% / 2 - 20px)
}
.item3 {
width: 100%;
}
}
@media (min-width: 992px) {
.item1,
.item2,
.item3 {
width: calc(100% / 3 - 20px);
}
}
这里工作 jsfiddle: