【发布时间】:2014-10-27 21:29:30
【问题描述】:
当其父级设置为 display:table 并且父级的 w/h 不是 100% 时,保持 img 的 w/h:auto 可调整大小的能力?很明显,如果父母的 w/h 没有设置,那么它的孩子的 w/h:auto 没有多大意义。我的观点是,如果 img 位于 figure/img/figcaption 内部,我想保留它的“可调整大小的能力”。问题描述:
画廊中的大图像我们可能想要调整大小以适应更大的窗口大小。如果它只是一个图像,可以轻松地将图像的 w/h 设置为 auto(并将 maxw/maxh 设置为 100%),通过添加 margin:auto 我们甚至可以很好地居中。但是如何用 figure/img/figcaption 完全达到同样的效果呢?由于我们希望 figcaption 的宽度动态匹配图像的宽度(不是以 px 为单位),我们需要设置 figcaption display:table-caption (plus caption-side:bottom) 和 figure display:table。但是一旦我们设置了图形 display:table 并且它的 w/h 没有设置(或者设置为 auto,否则 figcaption 宽度将与 img 不匹配),图像 w/h:auto 就不再工作了(不足为奇) 并且我们得到了不理想的 100% w/h 的 img(如果更大,将不适合窗口)。是否有任何 CSS 唯一的解决方案如何保持 img 的 w/h:auto 或以某种方式实现相同的可调整大小的能力,如果它在 figure/img/figcaption 内?
关于如何将元素或图像居中或调整大小的方法有很多,例如这里 codepen.io/shshaw/full/gEiDt> 或这里 codepen.io /dimsemenov/pen/jhsJL>,但这些以及其他许多地方不适用于一组图形/img/figcaption(或者我无法使其工作)。我一直在困扰我自己好几天都没有明确的答案。
换句话说,我需要的是:一个 figure/img/figcaption 集完全居中,如果图像大于窗口大小,它们将调整大小,figcaption 必须与图像宽度的宽度相匹配。一切都应该用 CSS 来完成,不要在 px 中设置任何东西。
【问题讨论】:
标签: css image-resizing figure