如何在一页的一侧排列图片,另一侧排列段落?

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您的旅程的每个阶段提供云产品。立即开始使用 200 美元的免费积分!

前几天我收到了一封电子邮件,里面提到了这个问题,我认为这将是一篇不错的博文,因为如今在 CSS 中实现这一点非常令人满意。此外,我们可以在过程中加入一些润色。

从 HTML 角度来看,我正在考虑图像、文本、图像、文本等。

<img src="..." alt="..." height="" width="" />
<p>Text text text...</p>

<img src="..." alt="..." height="" width="" />
<p>Text text text...</p>

<img src="..." alt="..." height="" width="" />
<p>Text text text...</p>

如果这是我们 HTML 文档中的整个主体,那么 **博文标题中问题的答案实际上是两行 CSS**

body {
  display: grid;
  grid-template-columns: min-content 1fr;
}

它看起来像这样...

虽然不美观,但我们很快就完成了任务。

太棒了。感谢 CSS。但是让我们把它清理一下。让我们确保有一个间隙,设置默认类型,并控制布局。

body {
  display: grid;
  padding: 2rem;
  grid-template-columns: 300px 1fr;
  gap: 1rem;
  align-items: center;
  max-width: 800px;
  margin: 0 auto;
  font: 500 100%/1.5 system-ui;
}
img {
  max-width: 100%;
  height: auto;
}

我的意思是...发布吧,对吧?很接近了,但也许我们可以添加一个快速的移动样式。

@media (max-width: 650px) {
  body {
    display: block;
    font-size: 80%;
  }
  p {
    position: relative;
    margin: -3rem 0 2rem 1rem;
    padding: 1rem;
    background: rgba(white, 0.8);
  }
}

好了,现在发布吧!