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="%ED%8E%98%EC%9D%B4%EC%A7%80%EC%9D%98%20%ED%95%9C%EC%AA%BD%20%EC%95%84%EB%9E%98%EC%97%90%20%EA%B7%B8%EB%A6%BC%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EC%AA%BD%EC%9D%98%20%EB%8B%A8%EB%9D%BD%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%A7%8C%EB%93%9C%EB%8A%94%EA%B0%80?" alt="페이지의 한쪽 아래에 그림이 다른 쪽의 단락과 일치하는 레이아웃을 어떻게 만드는가?" height="" style="max-width:90%"> <p>Text text text페이지의 한쪽 아래에 그림이 다른 쪽의 단락과 일치하는 레이아웃을 어떻게 만드는가?</p> <img src="%ED%8E%98%EC%9D%B4%EC%A7%80%EC%9D%98%20%ED%95%9C%EC%AA%BD%20%EC%95%84%EB%9E%98%EC%97%90%20%EA%B7%B8%EB%A6%BC%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EC%AA%BD%EC%9D%98%20%EB%8B%A8%EB%9D%BD%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%A7%8C%EB%93%9C%EB%8A%94%EA%B0%80?" alt="페이지의 한쪽 아래에 그림이 다른 쪽의 단락과 일치하는 레이아웃을 어떻게 만드는가?" height="" style="max-width:90%"> <p>Text text text페이지의 한쪽 아래에 그림이 다른 쪽의 단락과 일치하는 레이아웃을 어떻게 만드는가?</p> <img src="%ED%8E%98%EC%9D%B4%EC%A7%80%EC%9D%98%20%ED%95%9C%EC%AA%BD%20%EC%95%84%EB%9E%98%EC%97%90%20%EA%B7%B8%EB%A6%BC%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EC%AA%BD%EC%9D%98%20%EB%8B%A8%EB%9D%BD%EA%B3%BC%20%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EB%A7%8C%EB%93%9C%EB%8A%94%EA%B0%80?" alt="페이지의 한쪽 아래에 그림이 다른 쪽의 단락과 일치하는 레이아웃을 어떻게 만드는가?" height="" style="max-width:90%"> <p>Text text text페이지의 한쪽 아래에 그림이 다른 쪽의 단락과 일치하는 레이아웃을 어떻게 만드는가?</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!
위 내용은 페이지의 한쪽 아래에 그림이 다른 쪽의 단락과 일치하는 레이아웃을 어떻게 만드는가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!