CSS元素对齐问题:如何让产品名与价格段落横向并排显示
解决产品名称与价格横向并排的问题
问题根源
<p>是块级元素,默认会占据父容器整行宽度,因此两个<p>会自动上下堆叠。你之前设置的align-items: center需要搭配Flexbox/Grid布局才能生效,单独设置无法改变块级元素的排列方式。
解决方案:用Flexbox实现横向排列
通过给产品名称和价格的外层容器添加Flexbox属性,即可轻松实现横向并排,同时自动调整元素间距。
修改后的CSS代码
* { box-sizing: border-box; } body { margin: 0; font-family: sans-serif; } .header { background-color: darkcyan; text-align: center; padding: 16px; width: 100%; border-bottom: 4px solid black; } .container { background-color: blue; height: 100%; width: 100%; margin: 0; padding-top: 80px; } .first-prod { background-color: aquamarine; width: 250px; height: 250px; margin: auto; } .second-prod { background-color: aliceblue; width: 250px; height: 250px; margin: auto; margin-top: 80px; } .third-product { background-color: aliceblue; width: 250px; height: 250px; margin: auto; margin-top: 80px; } .images { width: 150px; height: 150px; object-fit: cover; border-radius: 10px; margin-top: 12px; } /* 调整.first-content布局,保持图片在上,下方元素垂直排列 */ .first-content { display: flex; flex-direction: column; align-items: center; gap: 12px; } /* 新增容器包裹名称和价格,实现横向并排 */ .product-info { display: flex; align-items: center; gap: 16px; /* 名称与价格的间距 */ } .fcp1 { color: brown; background-color: aliceblue; border-right: 2px solid black; padding-right: 16px; font-size: 18px; margin: 0; } .fcp2 { color: brown; background-color: aliceblue; font-size: 18px; margin: 0; }
修改后的HTML代码
<header class="header"> <h1>Babark Commerce</h1> <p>Everything you looking for...</p> </header> <div class="container"> <div class="first-line"> <div class="first-prod"> <div class="first-content"> <img src="watch.jpg" alt="watch" class="images"> <!-- 新增.product-info容器包裹名称和价格 --> <div class="product-info"> <p class="fcp1">Elegant CASSIO EA0732</p> <p class="fcp2">58 £</p> </div> </div> </div> <div class="second-prod"> </div> <div class="third-product"> </div> </div> </div>
关键修改说明
.first-content设为flex布局并指定column方向,保证图片在上,产品信息区域垂直排列。- 新增
.product-info容器,通过flex实现名称与价格横向并排,gap控制间距,align-items: center保证两者垂直对齐。 - 移除硬编码的
width、margin-left属性,改用padding和gap控制间距,让布局更灵活。
内容的提问来源于stack exchange,提问作者Ahm - Et
相关产品推荐
相关产品推荐

