【发布时间】:2018-08-05 21:53:58
【问题描述】:
我确实花了很多时间试图解决这个问题,但我就是无法让它发挥作用。我在这里构建了一个基础演示供任何人使用。
我想要发生的是图像应该在灰色背景上显示为半月。而且这个半月形应该根据 FlexContainer 的高度进行缩放。检查我的两张图片,了解最终产品的外观。不用担心得到正确的圆半径。
代码中的绿色背景只是为了看svg的大小,可以去掉。圆的边缘应始终位于屏幕的中心(我的示例未正确居中)
body {
margin: 0px;
}
.FlexContainer {
display: flex;
flex-wrap: wrap;
background-color: gray;
width: 100%;
justify-content: center;
box-sizing: border-box;
}
.FlexItem {
height: 200px;
width: 300px;
background-color: white;
opacity: 0.5;
margin: 10px;
}
<body>
<svg style="background-color:green" style="width:100%; height:100%">
<clipPath id="circleView">
<circle cx="200" cy="200" r="200"/>
</clipPath>
<image width="100%" height="100%" xlink:href="https://imgur.com/KqppSIN.jpg" clip-path="url(#circleView)"/>
</svg>
<div class="FlexContainer">
<div class="FlexItem"></div>
<div class="FlexItem"></div>
</div>
</body>
【问题讨论】: