我正在尝试设置此样式:
<div class="figure">
<img src="/some/image.jpg">
<p class="caption">
<span class="caption-text">Some caption of any length</span>
</p>
</div>
以便标题位于与图像宽度相同的阴影框中。请注意,.figure
有时可以将其<td>
放在表的内部。它也不应超过父元素的宽度(必要时将图像缩小)。
这是我到目前为止的内容:
.caption-text {
font-size: 14px;
font-family: Lato, proxima-nova, 'Helvetica Neue', Arial, sans-serif;
font-weight: normal;
line-height: 0px;
}
.figure {
max-width: 100%;
display: inline-block;
position: relative;
}
.figure img {
vertical-align: top;
margin-bottom: 3px;
}
.caption {
display: block;
width: 100%;
position: absolute;
padding: 10px;
background-color: #e3e3e3;
box-sizing: border-box;
margin: 0;
}
<div style="width:500px">
<h1>Some Title</h1>
<!--part I want to style-->
<div class="figure">
<img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150">
<p class="caption">
<span class="caption-text">Some caption of any length. Should wrap and push content down when longer than the image.</span>
</p>
</div>
<p>Some text which should always go below the caption. When positioned absolutly the caption overlays this text, instead of pushing it down below.</p>
</div>
问题在于,放置.caption
as
position:absolute;
使其不再影响其他元素的流动,因此它会将其覆盖在其下方的内容上,而不是将其下推。
html标记是自动生成的,我无法对其进行任何编辑,因此我想知道使用 纯css 是否可行。
您可以使用CSS display:table
+ table-caption
解决方案。
.figure {
display: table;
margin: 0;
}
.figure img {
max-width: 100%;
}
.figcaption {
display: table-caption;
caption-side: bottom;
background: pink;
padding: 10px;
}
<h3>Example of small image</h3>
<figure class="figure">
<img src="//dummyimage.com/300x100" alt="">
<figcaption class="figcaption">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</figcaption>
</figure>
<h3>Example of large image</h3>
<figure class="figure">
<img src="//dummyimage.com/900x100" alt="">
<figcaption class="figcaption">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</figcaption>
</figure>
问题内容: 当文字到达图片的右侧时,如何将文字包裹在其中? 这是笔:http : //codepen.io/mjankowski/pen/pbzejy 在上述情况下,第二个图形标题移动到图像的右侧之外。我希望它在“ Longname”之后换行。 另外,对于更简单的方法,也欢迎提出建议。我只希望图像/标题整洁。 谢谢,马特 问题答案: 一种方法是使您的元素具有弹性容器,并将其对齐方式设置为。这样可以
问题内容: 为什么下面的代码返回高度:-1,这意味着高度未知。如何获得图像的高度? 问题答案: 使用ImageIO.read(URL)或ImageIO.read(File)代替。加载时它将阻塞,返回后将知道图像的宽度和高度。 例如 或者,MediaTracker向由异步加载的映像中添加A ,Toolkit然后等待其完全加载。
我正在尝试将CardView宽度与屏幕宽度匹配,但CardView的宽度与屏幕宽不匹配。我一次又一次地检查了我的代码,甚至使所有属性的宽度等于匹配的父级。 Recyclerview xml-- 卡片视图xml - 膨胀代码 这是屏幕截图
问题内容: 除了使用ImageIO.read来获取图像的高度和宽度外,还有其他方法吗? 因为我遇到了锁定线程的问题。 此错误仅在Sun应用服务器上发生,因此我怀疑这是Sun错误。 问题答案: 这很简单方便。
问题内容: 因此,警报会给出宽度和高度的不确定值。我认为img.onload计算中图像的w和h值未传递给要返回的值,或者可能在onload计算它们 之前 返回了w和h : 如何让警报显示正确的宽度和高度? 问题答案: 使用jQuery获取图像大小 使用JavaScript获取图像大小 使用JavaScript获取图像大小 (现代浏览器,IE9 +) 只需将以上内容用作:
问题内容: 是否可以在node.js中获取图像的宽度和高度(在服务器端,而不是客户端)?我需要在我正在编写的node.js库中找到图像的宽度和高度。 问题答案: 是的,这是可能的,但是您需要安装GraphicsMagick或ImageMagick。 我都用过,我可以推荐GraphicsMagick,它要快得多。 一旦安装了程序及其模块,就可以执行以下操作来获取宽度和高度。