You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改footer宽度时正文文字右移,如何实现文字固定在图片旁的布局

问题原因

  • footer被放在<main>标签内部,修改footer宽度时会改变父容器<main>的排版可用空间,导致上方图文的排版位置跟着偏移
  • 用img的align属性实现的浮动排版没有做边界控制,段落排版容易受后续元素宽高变化的影响

解决方案

步骤1:调整HTML结构

把<footer>从<main>标签中移出,避免footer的样式修改影响正文区域的排版,修改后结构如下:

<main>
  <img src="https://onlycrumbsremain.com/wp-content/uploads/2020/10/dinner-roll-9.jpg" alt="10 kinds of bread" width="400" height="300" align="left">
  <p>Lorem ipsum...</p>
  <img src="https://imgix.bustle.com/mic/kwojkqt6twmbxd7d525gm9bzrcfnccm940okdfbtbxc3c3lnchh2v6bh907bdigs.jpg?w=1200&h=630&fit=crop&crop=faces&fm=jpg" alt="10 kinds of bread" width="400" height="300" align="right">
  <p>Lorem ipsum...</p>
</main>
<footer>
  <p>&copy; 2021 Private Bread | The best online bread store!</p>
</footer>

步骤2:补充CSS样式

给正文区域<main>设置固定宽度和footer宽度匹配,同时给段落设置浮动边界控制,避免文字排版错乱:

/* 新增main样式 */
main {
  width: 700px;
  max-width: 100%;
  /* 可选:需要页面内容居中就加下面这行 */
  margin: 0 auto;
}

/* 新增段落样式,控制图文混排边界 */
main p {
  overflow: hidden; /* 触发BFC,让段落仅在浮动图片外的剩余空间排列 */
  margin-bottom: 15px;
}

/* 原有footer样式保留即可 */
footer {
  clear: both;
  background-color: brown;
  color: white;
  padding: 5px 20px;
  width: 700px;
  max-width: 100%;
  /* 可选:和main同步居中就加下面这行 */
  margin: 0 auto;
}

内容的提问来源于stack exchange,提问作者Arikakate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 11:06:04