在图像周围环绕文字,仅 css

Wrapping text around image, css only

创造这种效果的最有效方法是什么,知道:

<div>

  <div class="image">
    <img src="https://placekitten.com/g/320/150">
  </div>

  <h1>Lorem ipsum dolor sit amet</h1>

  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ut risus quam. Curabitur lectus nisi, congue a risus sit amet, dignissim posuere enim. Mauris eu arcu id augue sollicitudin dictum. Curabitur id lorem eu magna luctus molestie. Pellentesque ut est purus. Sed id scelerisque elit, nec condimentum augue. Nullam nibh nunc, dictum eget consectetur id, ullamcorper sit amet diam.<br><br>Quisque scelerisque massa ac nisi volutpat, eu posuere metus malesuada. Etiam ligula ante, faucibus sagittis dolor posuere, dignissim pulvinar velit. Nam bibendum neque sed nisl dignissim convallis. Fusce convallis sit amet neque commodo hendrerit. Nunc placerat aliquet libero, nec tincidunt ligula pretium nec. Nam a enim finibus, ultrices lectus ut, accumsan magna. Vestibulum quis vehicula libero. Aenean congue tellus vitae enim feugiat, quis varius eros porta. Proin mattis quam nec fringilla venenatis. Nulla mollis arcu non velit laoreet sodales. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam at cursus sapien.</p>
  
</div>

不更改标记很难管理。虽然你可以这样使用:

.image{
  float: left;
  margin-bottom: 20em;/* you should set as your around paragraph height */
}

<div>

  <div class="image" style="float:left;margin-bottom:30em;">
    <img src="https://placekitten.com/g/320/150">
  </div>

  <h1>Lorem ipsum dolor sit amet</h1>

  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ut risus quam. Curabitur lectus nisi, congue a risus sit amet, dignissim posuere enim. Mauris eu arcu id augue sollicitudin dictum. Curabitur id lorem eu magna luctus molestie. Pellentesque ut est purus. Sed id scelerisque elit, nec condimentum augue. Nullam nibh nunc, dictum eget consectetur id, ullamcorper sit amet diam.<br><br>Quisque scelerisque massa ac nisi volutpat, eu posuere metus malesuada. Etiam ligula ante, faucibus sagittis dolor posuere, dignissim pulvinar velit. Nam bibendum neque sed nisl dignissim convallis. Fusce convallis sit amet neque commodo hendrerit. Nunc placerat aliquet libero, nec tincidunt ligula pretium nec. Nam a enim finibus, ultrices lectus ut, accumsan magna. Vestibulum quis vehicula libero. Aenean congue tellus vitae enim feugiat, quis varius eros porta. Proin mattis quam nec fringilla venenatis. Nulla mollis arcu non velit laoreet sodales. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam at cursus sapien.</p>
  
</div>


如果您要更改标记,那么通过将 h1p 包装在 div 中并设置 overflow:hidden; 会更容易管理它比在 floated div.

中设置 margin-bottom 更干净

这无法通过您设置的标准来实现。您将需要修改标记。如果您使用 Steve 的回答,文本将换行在图像下方。可以用 jQuery.

试试这个风格:

<style>
    .image {
        padding: 3px;
        margin: 0 7px 2px 0;
        display: inline;
        float: left;
    }

    .OuterDiv
    {
        display: inline-block;
    }
</style>

OuterDiv 是外部 Div 标签的 class 名称

<div class="OuterDiv">
            <div class="image"> 
           ....
</div>