当前位置: 首页 > 面试题库 >

如何使图像标题的宽度与图像宽度匹配?

巫马磊
2023-03-14
问题内容

我正在尝试设置此样式:

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

问题在于,放置.captionas
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,它要快得多。 一旦安装了程序及其模块,就可以执行以下操作来获取宽度和高度。