【问题标题】:How to control height of ellipse in radial gradient如何控制径向渐变中椭圆的高度
【发布时间】:2019-11-28 07:20:53
【问题描述】:

我正在尝试为我的背景使用径向渐变,下面是代码。

div {
  width: 778px;
  height: 100px;
  background: radial-gradient(ellipse at top center, green, yellow 229px);
  background-size: 100% 100%;
  background-position: 0% 0%;
}
<div></div>

当我增加 div 的高度时,它显示为

但我们希望在辐射状中为椭圆设置固定的垂直半径,如下图所示

我尝试围绕背景大小进行调整,但 div 的高度不固定。所以我真的不能设置背景大小。

任何帮助将不胜感激。提前致谢。

【问题讨论】:

  • 它是径向渐变,而不是省略号渐变。你可以用另一个 div 包裹 div 并在那里应用黄色背景。然后它看起来像你想要的
  • 也试过了,但是 div 中的内容隐藏在重叠 div 后面。
  • 然后将内容放在重叠 div 内,但在普通 div 之外......如果没有更多信息,我们真的无法为您提供更多帮助。

标签: css radial-gradients


【解决方案1】:

使用值而不是省略号

body {
  background: radial-gradient(220px 80px at top center, green, yellow);
  margin: 0;
  height: 100vh;
}

<ending-shape>

可以是circleellipse;分别确定渐变的结束形状是圆形还是椭圆形。如果省略,则如果<size> 是单个<length>,则结尾形状默认为圆形,否则为椭圆


<length-percentage>{2}

明确给出椭圆的大小。 第一个值表示水平半径第二个值表示垂直半径。百分比值是相对于渐变框的相应尺寸的。负值无效。

参考:https://drafts.csswg.org/css-images-3/#valdef-radial-gradient-ending-shape


另一种选择是使用固定的background-size

body {
  background: 
    radial-gradient(farthest-side at top center, green, yellow)
      top center/350px 80px no-repeat,
    yellow;
  margin: 0;
  height: 100vh;
}

【讨论】:

  • 有没有好的基于GUI的网站设计软件。移动元素、图像等转化为代码。 @Temani Afif
  • @Pie 它们可能存在,但我个人自己编写了所有代码。从来没有想过使用(甚至搜索)这样的工具。我只考虑用于 SVG 复杂形状的工具
  • 有没有离线版的 CSS 官方文档可以下载。例如,PHP 提供“chm”和 pdf 格式的离线文档。但是我在 w3.org 上找不到任何官方的离线 CSS 文档。你用什么做离线文档? @termani Afif
  • @Pie 有趣的问题,但我不使用离线文档。因为 CSS 是关于网络的,所以我总是通过互联网在线进行,所以我真的不需要任何离线资源。我怀疑这种想法是否存在,但您可能会废弃 w3.org 网站或 MDN 网站以获得离线版本。由于它是一个静态网站,任何报废工具都可以轻松完成,除非他们实施了一些证券以避免报废。你不会有它 PDF 而是一个 HTML 网站
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多