jquery - 带有阴影和底部边框的圆形 CSS 形状

标签 jquery html css css-shapes

更新 所以我刚刚发现了椭圆边界半径。获得了与我一直在寻找的几乎相同的结果,但边框因省略号而变粗,因此如果有人知道更好的方法,我仍在寻找。 Here's my JSfiddle - 结果看起来像这样 fiddle result

fiddle中使用的代码

border-bottom: 3px solid green;
-moz-border-radius-bottomleft: 70% 40px;
-webkit-border-bottom-left-radius: 70% 40px;
-webkit-box-shadow: 0 3px 7px 0 rgba(0,0,0,0.91) ;
box-shadow: 0 3px 7px 0 rgba(0,0,0,0.91) ;

原帖

我想知道是否可以创建类似于下面的形状

imgur of the shape

形状将与图像重叠。我知道我可以用 border-bottom-left-radius 创建一个 rectagular DIV 然后给它 border-bottom: 3px solid greendrop-shadow,但边框半径并没有真正达到与上图中相同的“Angular ”。

我想我会只使用 SVG,但后来我无法使用投影。因此,如果有任何方法可以使用投影创建这样的形状,我愿意接受所有建议。谢谢

最佳答案

边框-半径

您可以在右侧添加相同样式的 border-radius,占用剩余的 30%。

body {
  background: lightblue;
}
#box {
  width: 500px;
  height: auto;
  border-bottom: 3px solid green;
  -moz-border-radius-bottomleft: 70% 40px;
  -webkit-border-bottom-left-radius: 70% 40px;
  -moz-border-radius-bottomright: 30% 20px;
  -webkit-border-bottom-right-radius: 30% 20px;
  -webkit-box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.91);
  box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.91);
}
<img id="box" src="http://www.hdwallpapersinn.com/wp-content/uploads/2014/11/Sunset-Cityscape-Scene.jpg" />

剪辑路径

您也可以考虑使用 clip-path 来获取您想要的区域。遗憾的是,这不允许 box-shadows

body {
  background: lightblue;
}
.container {
  -webkit-clip-path: ellipse(100% 56% at 71% 39%);
  clip-path: ellipse(100% 56% at 71% 39%);
  width: 500px;
  height: auto;
  background: green;
}
img {
  -webkit-clip-path: ellipse(100% 56% at 71% 39%);
  clip-path: ellipse(100% 56% at 71% 39%);
  width: 500px;
  height: auto;
}
<div class="container">
  <img src="http://www.hdwallpapersinn.com/wp-content/uploads/2014/11/Sunset-Cityscape-Scene.jpg" />
</div>

Clip Path Support

SVG

您还可以使用 SVG 实现所需的形状。

body {
  background: lightblue;
}
<svg width="500" height="250" viewBox="0 0 100 50">
  <defs>
    <pattern id="image" patternUnits="userSpaceOnUse" height="50" width="100">
      <image x="0" y="0" height="50" width="100" xlink:href="https://31.media.tumblr.com/cd4319a4a4ba642649bcf7936d48eec8/tumblr_inline_mn089qqjI71qz4rgp.png"></image>
    </pattern>
    <filter id="blur" x="0" y="0" width="100%" height="110%">
      <feOffset result="offOut" in="SourceAlpha" dx="0" dy="1" />
      <feGaussianBlur result="blurOut" in="offOut" stdDeviation="2" />
      <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
    </filter>
  </defs>
  <g class="curve">
    <path fill="url(#image)" filter="url(#blur)" stroke="green" stroke-width="1" d="M-1,-1 
             L-1,40 
             C-1,40 60,45 101,42 
             L101,-1z" />
  </g>
</svg>

符合使用要求的 SVG

body {
  background: lightblue;
  margin: 0;
  padding: 0;
}
<svg width="100%" viewBox="0 0 100 50" preserveAspectRatio="none" height="150px">
  <defs>
    <filter id="blur" x="0" y="0" width="100%" height="110%">
      <feOffset result="offOut" in="SourceAlpha" dx="0" dy="1" />
      <feGaussianBlur result="blurOut" in="offOut" stdDeviation="2" />
      <feBlend in="SourceGraphic" in2="blurOut" mode="normal" />
    </filter>
  </defs>
  <path fill="#ffffff" filter="url(#blur)" stroke="green" stroke-width="1" d="M-1,-1 
             L-1,40 
             C-1,40 60,45 101,42 
             L101,-1z" />
</svg>

关于jquery - 带有阴影和底部边框的圆形 CSS 形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31653174/

相关文章:

jquery - 我将如何着手将某种动态范围计数器应用于 jQuery 和 CSS?

javascript - jQueryUI 将单元格内容从表拖放到另一个具有列索引的表 td

javascript - AngularJS:单击按钮隐藏列

html - Foundation5 网格相互对齐

html - 悬停时如何缩放链接

javascript - 使用 JavaScript 查找并替换表中仅过滤的行

javascript - 让我的 ajax 井井有条

html - 关闭文本区域调整大小

html - 是否有用于 Delphi 的 CSS3 选择器驱动的文档对象模型 (DOM) API?

css - 如何在 CSS 中的图像上放置不透明的白色渐变?