RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 612465
Accepted
Vyacheslav Potseluyko
Vyacheslav Potseluyko
Asked:2020-01-09 17:19:06 +0000 UTC2020-01-09 17:19:06 +0000 UTC 2020-01-09 17:19:06 +0000 UTC

预处理器上的复杂多边形

  • 772

clip-path: polygon()需要特定点。下面代码中的某种示例。

.wrapper {
  width: 960px;
  height: 720px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  background-image: url(http://beerhold.it/960/722);
  background-repeat: no-repeat;
  backgorund-position: center center;
  position: relative;
}

.key {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10em;
  height: 10em;
  border: 2em solid rgba(255, 255, 255, .3);
  border-radius: 10em;
}

.block1,
.block2 {
  position: absolute;
  top: 0;
  width: 480px;
  height: 720px;
}

.block1 {
  left: 0;
  background-color: rgba(255, 0, 0, .2);
}

.block2 {
  right: 0;
}
.block3 {
  top: 0;
  width: 100%;
  height: calc(50% - 7em);
  background: rgba(0, 0, 0, 0.7);
  
}
.block4 {
  top: calc(50% - 7em);
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 14em;
  clip-path: polygon(1% 0%, 100% 0%, 100% 100%, 0% 100%, 8% 94%, 15% 88%, 22% 78%, 29% 69%, 34% 60%, 34% 48%, 33% 36%, 30% 22%, 23% 14%, 12% 7%);
}
.block5 {
  bottom: 0;
  height: calc(50% - 7em);
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
}
<div class="wrapper">
  <div class="block1"></div>
  <div class="block2">
    <div class='block3'></div>
    <div class='block4'></div>
    <div class='block5'></div>
    <div class='block6'></div>
  </div>
  <div class="key"></div>
</div>

如您所见,此刻它只是一条曲线,凹进了图形。任务是画一个半圆(或尽可能接近它),凹入一个图形。在我的理解中,这需要less,sass依此类推。还有sin,cos。我不知道从哪里开始,如何开始,我没有遇到过。感谢@AndreyFedorov 在这里使用他的代码片段

(!) 我同意给出相同结果的任何其他选项。

在此处输入图像描述

svg
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Sasha Omelchenko
    2020-01-17T23:49:26Z2020-01-17T23:49:26Z

    所需的坐标path:

    • 120是圆的半径;如果需要减少,则减少两个坐标
    • 240- 区块高度
    • 1000- 块长度

    如果需要旋转切口,请使用属性transform="rotate()"

    * {
      margin: 0;
      padding: 0;
    }
    
    .btn {
      position: absolute;
      width: 240px;
      height: 240px;
      border-radius: 50%;
      border: 10px solid rgba(255,255,255,0.4);
      top: 130px;
      left: -120px;
      background: transparent;
      box-sizing: border-box;
    }
    .btn:hover {
      border-color: rgba(255,255,255,0.7);
    }
    .image {
      background-image: url(https://s3.amazonaws.com/finely/resources/test.jpg);
      background-size: cover;
      background-position: center;
      width:100%;
      height:500px;
    }
    
    .image__right {
      position: absolute;
      width:50%;
      right: 0;
      top: 0;
    }
    
    .placeholder {
      height:130px;
      background: rgba(0,0,0,0.5);
    }
    
    .border-mask {
      height: 240px;
      background: rgba(0,0,0,0.5);
      -webkit-clip-path: url(#circleClip);
      clip-path: url(#circleClip);
    }
    <div class="image">
      <div class="image__right">
        <div class="placeholder"></div>
        <button class="btn">click me</button>
        <div class="border-mask">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 380 240" x="0px" y="0px">
            <defs>
              <clipPath id="circleClip">
                <path d="M0,0c65.4,0,120,53,120,120S65.4,240,0,240h1000V0H0z"/>
              </clipPath>
            </defs>
          </svg>
        </div>
        <div class="placeholder"></div>
      </div>
    </div>

    • 11

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5