Home >Web Front-end >CSS Tutorial >How do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?

How do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-03-22 09:23:20415browse

How do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?

I got this exact question in an email the other day, and I thought it would make a nice blog post because of how wonderfully satisfying this is to do in CSS these days. Plus we can sprinkle in polish to it as we go.

HTML-wise, I’m thinking image, text, image, text, etc.

<img src="How%20do%20you%20make%20a%20layout%20with%20pictures%20down%20one%20side%20of%20a%20page%20matched%20up%20with%20paragraphs%20on%20the%20other%20side?" alt="How do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?" height=""    style="max-width:90%">
<p>Text text textHow do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?</p>

<img src="How%20do%20you%20make%20a%20layout%20with%20pictures%20down%20one%20side%20of%20a%20page%20matched%20up%20with%20paragraphs%20on%20the%20other%20side?" alt="How do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?" height=""    style="max-width:90%">
<p>Text text textHow do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?</p>

<img src="How%20do%20you%20make%20a%20layout%20with%20pictures%20down%20one%20side%20of%20a%20page%20matched%20up%20with%20paragraphs%20on%20the%20other%20side?" alt="How do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?" height=""    style="max-width:90%">
<p>Text text textHow do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?</p>

If that was our entire body in an HTML document, the answer to the question in the blog post title is literally two lines of CSS:

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

It’s going to look something like this…

So cool. Thanks CSS. But let’s clean it up. Let’s make sure there is a gap, set the default type, and reign in the layout.

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;
}

I mean… ship it, right? Close, but maybe we can just add a quick mobile style.

@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);
  }
}

OK, NOW ship it!

The above is the detailed content of How do you make a layout with pictures down one side of a page matched up with paragraphs on the other side?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:SVG Favicons in ActionNext article:SVG Favicons in Action