当前位置: 首页 > 面试题库 >

如何在我的剪切路径中添加边框:polygon(); CSS样式

易奇希
2023-03-14
问题内容

我想知道,如果它是一个可以添加border在我的clip-path:polygon();风格或任何其他方式来增加边界?

喜欢 : border:5px solid red;

的CSS

.poligon {
  display: inline-block;
  position:relative;
  width:150px;
  height:150px;
  background: black;
  box-sizing:border-box;
  padding:55px;
}
.poligon img {
  display: inline-block;
  border:5px solid red;
  width:150px;
  height:150px;
  -webkit-clip-path: polygon(92.32051% 40%, 93.79385% 43.1596%, 94.69616% 46.52704%, 95% 50%, 94.69616% 53.47296%, 93.79385% 56.8404%, 92.32051% 60%, 79.82051% 81.65064%, 77.82089% 84.50639%, 75.35575% 86.97152%, 72.5% 88.97114%, 69.3404% 90.44449%, 65.97296% 91.34679%, 62.5% 91.65064%, 37.5% 91.65064%, 34.02704% 91.34679%, 30.6596% 90.44449%, 27.5% 88.97114%, 24.64425% 86.97152%, 22.17911% 84.50639%, 20.17949% 81.65064%, 7.67949% 60%, 6.20615% 56.8404%, 5.30384% 53.47296%, 5% 50%, 5.30384% 46.52704%, 6.20615% 43.1596%, 7.67949% 40%, 20.17949% 18.34936%, 22.17911% 15.49361%, 24.64425% 13.02848%, 27.5% 11.02886%, 30.6596% 9.55551%, 34.02704% 8.65321%, 37.5% 8.34936%, 62.5% 8.34936%, 65.97296% 8.65321%, 69.3404% 9.55551%, 72.5% 11.02886%, 75.35575% 13.02848%, 77.82089% 15.49361%, 79.82051% 18.34936%);
  -moz-clip-path: polygon(92.32051% 40%, 93.79385% 43.1596%, 94.69616% 46.52704%, 95% 50%, 94.69616% 53.47296%, 93.79385% 56.8404%, 92.32051% 60%, 79.82051% 81.65064%, 77.82089% 84.50639%, 75.35575% 86.97152%, 72.5% 88.97114%, 69.3404% 90.44449%, 65.97296% 91.34679%, 62.5% 91.65064%, 37.5% 91.65064%, 34.02704% 91.34679%, 30.6596% 90.44449%, 27.5% 88.97114%, 24.64425% 86.97152%, 22.17911% 84.50639%, 20.17949% 81.65064%, 7.67949% 60%, 6.20615% 56.8404%, 5.30384% 53.47296%, 5% 50%, 5.30384% 46.52704%, 6.20615% 43.1596%, 7.67949% 40%, 20.17949% 18.34936%, 22.17911% 15.49361%, 24.64425% 13.02848%, 27.5% 11.02886%, 30.6596% 9.55551%, 34.02704% 8.65321%, 37.5% 8.34936%, 62.5% 8.34936%, 65.97296% 8.65321%, 69.3404% 9.55551%, 72.5% 11.02886%, 75.35575% 13.02848%, 77.82089% 15.49361%, 79.82051% 18.34936%);
}

HTML

<div class="poligon">
  <img src="http://lorempixel.com/g/600/400/">
</div>

问题答案:

边框可以沿剪切路径应用于剪切后的元素吗?

不,向border剪贴元素添加属性不会沿剪贴路径应用边框,因为会在border应用于之前在原始矩形(或正方形)容器clip- path上应用,因此也会被剪切掉。您可以在下面的代码段中看到它:

div {

  display: inline-block;

  height: 200px;

  width: 200px;

  border: 3px solid;

  background: darkseagreen;

}

div + div {

  -webkit-clip-path: polygon(50% 0%, 100% 100%, 100% 0%);

}


<div></div>

<div></div>

有没有其他方法可以创建这样的边框效果?

我们可以通过将其应用于clip-path容器元素来模仿它。容器元素的背景色看起来就像是内部元素的边框,因为两者都被裁剪,并且容器的尺寸比内部元素略大。

.poligon {

  display: inline-block;

  position: relative;

  width: 150px;

  height: 150px;

  background: red;

  box-sizing: border-box;

  -webkit-clip-path: polygon(92.32051% 40%, 93.79385% 43.1596%, 94.69616% 46.52704%, 95% 50%, 94.69616% 53.47296%, 93.79385% 56.8404%, 92.32051% 60%, 79.82051% 81.65064%, 77.82089% 84.50639%, 75.35575% 86.97152%, 72.5% 88.97114%, 69.3404% 90.44449%, 65.97296% 91.34679%, 62.5% 91.65064%, 37.5% 91.65064%, 34.02704% 91.34679%, 30.6596% 90.44449%, 27.5% 88.97114%, 24.64425% 86.97152%, 22.17911% 84.50639%, 20.17949% 81.65064%, 7.67949% 60%, 6.20615% 56.8404%, 5.30384% 53.47296%, 5% 50%, 5.30384% 46.52704%, 6.20615% 43.1596%, 7.67949% 40%, 20.17949% 18.34936%, 22.17911% 15.49361%, 24.64425% 13.02848%, 27.5% 11.02886%, 30.6596% 9.55551%, 34.02704% 8.65321%, 37.5% 8.34936%, 62.5% 8.34936%, 65.97296% 8.65321%, 69.3404% 9.55551%, 72.5% 11.02886%, 75.35575% 13.02848%, 77.82089% 15.49361%, 79.82051% 18.34936%);

  clip-path: polygon(92.32051% 40%, 93.79385% 43.1596%, 94.69616% 46.52704%, 95% 50%, 94.69616% 53.47296%, 93.79385% 56.8404%, 92.32051% 60%, 79.82051% 81.65064%, 77.82089% 84.50639%, 75.35575% 86.97152%, 72.5% 88.97114%, 69.3404% 90.44449%, 65.97296% 91.34679%, 62.5% 91.65064%, 37.5% 91.65064%, 34.02704% 91.34679%, 30.6596% 90.44449%, 27.5% 88.97114%, 24.64425% 86.97152%, 22.17911% 84.50639%, 20.17949% 81.65064%, 7.67949% 60%, 6.20615% 56.8404%, 5.30384% 53.47296%, 5% 50%, 5.30384% 46.52704%, 6.20615% 43.1596%, 7.67949% 40%, 20.17949% 18.34936%, 22.17911% 15.49361%, 24.64425% 13.02848%, 27.5% 11.02886%, 30.6596% 9.55551%, 34.02704% 8.65321%, 37.5% 8.34936%, 62.5% 8.34936%, 65.97296% 8.65321%, 69.3404% 9.55551%, 72.5% 11.02886%, 75.35575% 13.02848%, 77.82089% 15.49361%, 79.82051% 18.34936%);

}

.poligon img {

  position: absolute;

  top: 2px; /* equal to border thickness */

  left: 2px; /* equal to border thickness */

  width: 146px; /* container height - (border thickness * 2) */

  height: 146px; /* container height - (border thickness * 2) */

  -webkit-clip-path: polygon(92.32051% 40%, 93.79385% 43.1596%, 94.69616% 46.52704%, 95% 50%, 94.69616% 53.47296%, 93.79385% 56.8404%, 92.32051% 60%, 79.82051% 81.65064%, 77.82089% 84.50639%, 75.35575% 86.97152%, 72.5% 88.97114%, 69.3404% 90.44449%, 65.97296% 91.34679%, 62.5% 91.65064%, 37.5% 91.65064%, 34.02704% 91.34679%, 30.6596% 90.44449%, 27.5% 88.97114%, 24.64425% 86.97152%, 22.17911% 84.50639%, 20.17949% 81.65064%, 7.67949% 60%, 6.20615% 56.8404%, 5.30384% 53.47296%, 5% 50%, 5.30384% 46.52704%, 6.20615% 43.1596%, 7.67949% 40%, 20.17949% 18.34936%, 22.17911% 15.49361%, 24.64425% 13.02848%, 27.5% 11.02886%, 30.6596% 9.55551%, 34.02704% 8.65321%, 37.5% 8.34936%, 62.5% 8.34936%, 65.97296% 8.65321%, 69.3404% 9.55551%, 72.5% 11.02886%, 75.35575% 13.02848%, 77.82089% 15.49361%, 79.82051% 18.34936%);

  clip-path: polygon(92.32051% 40%, 93.79385% 43.1596%, 94.69616% 46.52704%, 95% 50%, 94.69616% 53.47296%, 93.79385% 56.8404%, 92.32051% 60%, 79.82051% 81.65064%, 77.82089% 84.50639%, 75.35575% 86.97152%, 72.5% 88.97114%, 69.3404% 90.44449%, 65.97296% 91.34679%, 62.5% 91.65064%, 37.5% 91.65064%, 34.02704% 91.34679%, 30.6596% 90.44449%, 27.5% 88.97114%, 24.64425% 86.97152%, 22.17911% 84.50639%, 20.17949% 81.65064%, 7.67949% 60%, 6.20615% 56.8404%, 5.30384% 53.47296%, 5% 50%, 5.30384% 46.52704%, 6.20615% 43.1596%, 7.67949% 40%, 20.17949% 18.34936%, 22.17911% 15.49361%, 24.64425% 13.02848%, 27.5% 11.02886%, 30.6596% 9.55551%, 34.02704% 8.65321%, 37.5% 8.34936%, 62.5% 8.34936%, 65.97296% 8.65321%, 69.3404% 9.55551%, 72.5% 11.02886%, 75.35575% 13.02848%, 77.82089% 15.49361%, 79.82051% 18.34936%);

}


<div class="poligon">

  <img src="http://lorempixel.com/g/600/400/">

</div>


 类似资料:
  • 问题内容: 如何更改复选框(输入)边框的样式?我已经戴上了它,但是在FireFox 3.5中,什么都没有发生! 问题答案: 如果 任何 浏览器发生问题,我都会感到惊讶。这是那些出色的表单元素之一,浏览器往往不会让您设置太多样式,并且人们通常尝试替换为javascript,以便他们可以设置样式/代码以使其外观和行为类似复选框。

  • 问题内容: 我有一个Jtable,我想通过在行上添加边框来突出显示行。我已经扩展了a,并且我认为需要在该方法中完成工作。 我猜想是因为似乎没有行的概念,所以我需要为行中的单个单元格创建自定义边框。类似于第一个单元格的左侧,顶部和底部,所有内部单元格的顶部和底部,以及该行中最后一个单元格的顶部,底部和右侧。我在寻找如何实际执行思考过程方面遇到问题。我不确定如何使用该方法,或者这是否就是我需要采取的方

  • 问题内容: 容器装好后,不应该将容器中的物品切掉吗? 示例HTML和CSS: 如您所见,我在容器()上使用,但内容()在容器的“外部”。我在Google Chrome上看到了这个。 这是预期的行为吗? PS这不是关于如何修复它,而是关于它是否应该像这样工作。 问题答案: 这是预期的行为吗? 是的,听起来确实很疯狂。原因如下: 默认的元素(和大多数其他的东西)是和规范说这约: visible 此值指

  • 我想将css文件链接到我的应用程序。在我的fxml文件中,我使用以下命令: ...当我在scenebuilder中打开fxml文件时,我可以看到一个样式化的预览。但是,当我尝试运行应用程序时,出现了一个错误: java.net.MalformedURL异常:无协议:.../stylesheet1.css 所以我用这种方法测试它: 现在它是反过来的-应用程序启动并应用css,但我没有看到场景构建器中

  • 问题内容: 我在弄清楚为什么在使用chrome而不是firefox或ie9时为什么#screen元素的边框半径消失了? 对于每个浏览器,我都有所有不同的前缀以及标准的border-radius: 保存图片的上方内容框称为#screen 屏幕css的副本粘贴: 是因为chrome无法正确处理图像的“裁剪”吗?我认为这只是一个问题,当您在圆角容器中包含实际标签时,而不是通过css将img称为背景图像时

  • 问题内容: 据我所知,正如许多文章和本教程CSSMasking中所展示的那样,剪贴路径应该在IE中也可以使用 但是我无法让以下内容在IE上正常运行,但在Chrome上运行正常。 问题答案: 经过更深入的研究,当直接使用图像时,IE仅支持clip像矩形一样,但不支持clipPath复杂形状。 我的解决方案是将图像添加到SVG中,如下所示,这一次它可以在Chrome和IE9 +中使用。