我试图在两个不同的div中只显示图像的上半部分和下半部分。
我尝试过使用CSS属性clip,但它似乎不支持将%作为一个单元。
就我一个人吗?对于只显示半张图片,你有什么解决方案吗?
发布于 2011-11-23 20:38:46
更新(在5+年份之后):
CSS剪辑属性现在已弃用。请考虑使用clip-path (允许使用非JS解决方案),它允许您使用百分比指定形状。示例:
/* Bottom half of image */ clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0% 100%);
/* Top half of image */ clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
使用百分比创建三角形的进一步示例:
clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
原始: CSS剪辑属性当前不支持百分比:http://www.w3.org/TR/CSS2/visufx.html#propdef-clip、latest http://www.w3.org/TR/2011/REC-CSS2-20110607/visufx.html#clipping
问题的解决方案可能是使用Javascript确定要显示的区域的大小,然后在设置clip属性时使用该值。像这样简单的东西应该能起到作用:
var heightOfImageToDisplay = image.height / 2;
发布于 2018-01-13 23:31:41
很抱歉,我没有足够的名气来写评论。
在没有JS的情况下,绝对有一个解决方案。
你所要做的就是
clipPath,它允许你定义你想要的任何路径。#your-element { clip-path: url(#clipPathId);}
如果您想了解更多信息,请参阅此答案https://stackoverflow.com/a/28312070/5692151
发布于 2011-11-23 20:39:26
您可以将div设置为position: relative;,overflow: hidden;将图像设置为position: absolute;
并控制图像的显示方式,但将高度设置为div,并调整图像的顶部和底部属性
https://stackoverflow.com/questions/8242222
复制相似问题