【发布时间】:2017-11-08 00:20:29
【问题描述】:
在my answer 的另一个问题中,我注意到父div 的CSS resize 句柄图标可以被img 混淆。在那个答案中,这并不重要,因为background 无论如何更合适,可以代替使用。
但是,假设(出于某种奇怪的原因)您想要一个可调整大小的div 中的img,您怎么能把图标放在它上面呢?
我不确定这是否只是某种视错觉,所以我使用了一个带有白色中心的色轮来测试它:
div{
resize:both;
overflow:hidden;
height:400px;
width:400px;
border: 1px solid black;
}
<div>
<img src="https://upload.wikimedia.org/wikipedia/commons/3/32/RGB_color_wheel_72.svg"/>
</div>
这是一个浏览器比较:
Edge 和 IE don't support CSS resize 因此无法对其进行测试。我相信 Opera 使用与 Chrome 相同的引擎,因此它们都失败了也就不足为奇了。但是,它可以在 Firefox 中正常工作。 Blink 有修复方法吗?
【问题讨论】:
-
这实际上很奇怪......想到了
::-webkit-resizer伪,但正如this fiddle 所示,它仅适用于textarea元素,不适用于具有resize属性的常规元素。似乎还有一个奇怪的错误,对::webkit-resizer伪所做的所有更改仅在textarea达到特定高度时才适用 -
鉴于示例和测试(并考虑跨浏览器实现,如果这甚至是一个问题,因为 FF 似乎没有这个错误),唯一的方法是让图标在前面孩子
img是使用 JS 或 applyposition: relativeandz-index: -1to theimg(不想把它变成答案,因为这对我来说似乎太猴子了) -
@AlexandreWiechersVaz 哇,真奇怪。这不是一个理想的解决方案,但它仍然是一个 - 我会将它添加为答案,这样每个人都知道它已经被考虑过:)
-
是的,你是对的,这对任何可能面临这个问题的人都有好处,会在一分钟内完成