css – 仅在父元素上指定尺寸时继承尺寸

我使用web组件polyfill开发一个API的自定义元素,我打了一个钩。

元素之一可以包含< img>或< canvas>元件。如果没有为自定义元素指定尺寸,那么它应该是子元素的认尺寸。如果指定了一个或多个维度,它们应该由子元素继承。

对于我的第一个努力,我认为CSS继承的价值将是足够好:

my-el img,my-el canvas {
    width: inherit;
    height: inherit;
    max-width: inherit;
    min-width: inherit;
    max-height: inherit;
    min-height: inherit;
}

但是,当将百分比应用于< my-el>的宽度或高度时,此操作无效。相反,子元素takes up the same percentage of its parent

我已经尝试过各种其他尝试的解决方案,搜索远,广泛无济于事。我认为一个纯CSS解决方案可能是不可能的,但我希望有人可以证明其他。

为了澄清,最终结果应该是< my-el>表现为内联替换的元素本身,好像它是< img>有自己的内部尺寸。当您不在这些元素上设置宽度或高度时,它们认为其内部尺寸。当您设置宽度或高度时,它优先,任何“内部”内容相应地调整大小。 (至少,我希望澄清!)

解决方法

百分比宽度和高度是相对于父元素,所以你可能只是使用这个我想。
my-el {
    display: inline-block;
}
my-el img,my-el canvas {
    width: 100%;
    height: 100%;
}

通过设置任何宽度和高度到my-el,可以随意游玩,看看它是否适合你。

http://jsfiddle.net/6afdbfck/

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效