css 中的边距是否是清除图像下方 space 的正确方法?
Is a margin in css a proper way to clear space under an image?
嘿@all 我在容器的左侧有一个图像,在右侧有一个文本。
我的目标是让图像保持在左侧,下方不显示任何内容。这显然可以用 bootstrap 来完成,但是如果使用纯 CSS,img 下方的边距是否是将文本保持在右侧的正确方法?问题是边距必须根据段落的长度进行调整。执行此操作的更好方法是什么?
HTML
<div class="container test">
<img src="https://images.pexels.com/photos/34950/pexels-
photo.jpg?cs=srgb&dl=abandoned-forest-hd-wallpaper-34950.jpg&fm=jpg"
alt="">
<h3>hola</h3>
<p>I am a long paragraph, a very long one Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam.</p>
</div>
CSS
.test {
width: 300px;
img {
width: 100px;
height: 100px;
float: left;
margin-bottom: 10rem;
}
}
这是它的样子:
Screenshot with margin
将文本内容包裹在它自己的 div 中并浮动 that.
.test {
width: 300px;
}
img {
max-width: 100px;
float: left;
}
.wrap {
float: left;
width: 200px;
}
<div class="container test">
<img src="http://www.fillmurray.com/460/300" alt="">
<div class="wrap">
<h3>hola</h3>
<p>I am a long paragraph, a very long one Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam.</p>
</div>
</div>
我会在文本元素周围使用一个容器和一个 flexbox for .test
The default setting for each flexbox item is stretch,这意味着它将从上到下有自己的 space,并且与 flexbox 中最高的项目一样高.
.test {
width: 300px;
display: flex;
}
img {
width: 100px;
height: 100px;
}
<div class="container test">
<img src="https://via.placeholder.com/100x100" alt="">
<!-- Container added for text elements -->
<div class="text-container">
<h3>hola</h3>
<p>I am a long paragraph, a very long one Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam.</p>
</div>
</div>
嘿@all 我在容器的左侧有一个图像,在右侧有一个文本。 我的目标是让图像保持在左侧,下方不显示任何内容。这显然可以用 bootstrap 来完成,但是如果使用纯 CSS,img 下方的边距是否是将文本保持在右侧的正确方法?问题是边距必须根据段落的长度进行调整。执行此操作的更好方法是什么?
HTML
<div class="container test">
<img src="https://images.pexels.com/photos/34950/pexels-
photo.jpg?cs=srgb&dl=abandoned-forest-hd-wallpaper-34950.jpg&fm=jpg"
alt="">
<h3>hola</h3>
<p>I am a long paragraph, a very long one Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam.</p>
</div>
CSS
.test {
width: 300px;
img {
width: 100px;
height: 100px;
float: left;
margin-bottom: 10rem;
}
}
这是它的样子: Screenshot with margin
将文本内容包裹在它自己的 div 中并浮动 that.
.test {
width: 300px;
}
img {
max-width: 100px;
float: left;
}
.wrap {
float: left;
width: 200px;
}
<div class="container test">
<img src="http://www.fillmurray.com/460/300" alt="">
<div class="wrap">
<h3>hola</h3>
<p>I am a long paragraph, a very long one Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam.</p>
</div>
</div>
我会在文本元素周围使用一个容器和一个 flexbox for .test
The default setting for each flexbox item is stretch,这意味着它将从上到下有自己的 space,并且与 flexbox 中最高的项目一样高.
.test {
width: 300px;
display: flex;
}
img {
width: 100px;
height: 100px;
}
<div class="container test">
<img src="https://via.placeholder.com/100x100" alt="">
<!-- Container added for text elements -->
<div class="text-container">
<h3>hola</h3>
<p>I am a long paragraph, a very long one Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam.</p>
</div>
</div>