javascript - 将div的面积缩小为一个圆圈?

标签 javascript jquery html css

虽然为 div 设置相同的高度和宽度并将边框半径设置为 100% 会使 div“看起来”像一个圆形,但实际情况是它仍然是伪装的正方形。如何使 div 成为“真正的”圆圈?出于我的目的,我想让元素只能在我创建的圈子内放置。通过使 div 看起来像一个圆圈,元素仍然可以在边缘的圆圈外放置。

$(".circle").droppable();
$(".drop").draggable({
  containment: "parent"
  });
.circle
{
  width: 200px;
  height: 200px;
  border: 1px solid black;
  border-radius: 100%;
  display: inline-block;
}
.drop
{
  border: 1px solid black;
  display: inline-block;
}
.drop:hover
{
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<div class="circle">
<div class="drop">
  Drop Me<br>
  Outside
</div>
</div>

最佳答案

overflow: hidden;
box-sizing: border-box;
padding: 50px; 

容器会做这件事 :) 或者如果你可以用 flexbox 做到这一点

overflow: hidden;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;

像评论中建议的那样使用 svg 对象

<svg class="circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle fill="#FFF" cx="50" cy="50" r="50"/></svg>

关于javascript - 将div的面积缩小为一个圆圈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41899058/

相关文章:

javascript - 如何循环和迭代包含对象和交换值的 Javascript 对象

javascript - 将对象数组转换为对象

javascript - Firefox 中的 HTML 5 拖放无法按预期工作

html - Bootstrap 网格中的输入元素不会跨越整个宽度

jquery - 将 CSS 样式应用于容器中的每 8 个元素

jquery - 位置 :fixed not being appended in ie

javascript - 如何使用 prototype.js 创建一个类

javascript - 改进javascript原型(prototype)继承

javascript - WebGL 片段着色器不透明度

javascript - 如何打开 Bootstrap Carousel 幻灯片以在滚动时更改?