css - 需要帮助制作一个 CSS 径向渐变,它无缝地流过 2 个高度或宽度不同的元素

标签 css element radial-gradients

http://jsfiddle.net/nicktheandroid/F8v2c/3/

我正在尝试制作一个在两个同级元素之间无缝流动的径向渐变 - 从按钮右侧的 10px 或 20px 开始,向下流动大约一半通过“.content”div。

我相信这只是需要正确定位两个元素的渐变,所以它看起来像是一个流动的径向渐变,这就是问题所在,我一直在尝试这样做,但我变得很沮丧 - 答案可能会帮助其他人.

菜单后面有背景,所以我不能简单地“抹掉”下图中“功能”旁边的部分 - 请参阅 jsfiddle。

例如看图片。

Example of radial gradient flowing through 2 elements seamlessly

最佳答案

我已经在 http://jsfiddle.net/F8v2c/9/ 发布了对您的 jsfiddle 的快速更新


要计算出您需要在按钮上设置高度的位置,然后您就知道要将渐变偏移多少。在按钮上我们有:

padding:10px;
height:21px;

所以我们知道盒子的总高度是41px
(21px 高度 +10px 顶部填充 +10px 底部填充)

因此,为了让渐变的中心在按钮下方 10px 处,我们将使用 51px 作为垂直位置,水平并不重要,只要按钮和下拉菜单上的水平相同即可。除非按钮和下拉菜单的大小相同,否则百分比将不起作用,因此我们将以像素 (300px) 为单位设置圆圈的大小。

background-image: radial-gradient( 74px 51px, circle closest-side, rgba(171, 171, 171, 1), #0000ff 300px);

在下拉菜单中,CSS 几乎相同,除了渐变中心不是底部下方 10px,而是距离顶部 10px。

background-image: radial-gradient( 74px 10px, circle closest-side, rgba(171, 171, 171, 1), #0000ff 300px);

关于css - 需要帮助制作一个 CSS 径向渐变,它无缝地流过 2 个高度或宽度不同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7483612/

相关文章:

python - 使用一些重复元素从 CSV 文件中构建和提取多维 Python 字典中的值

javascript - AngularJS 指令 - 设置多个指令元素的顺序(不是指令的优先级,而是元素的优先级)

javascript - 如何调整来自不同 HTML 元素的背景图像的堆叠顺序/z-index

jquery - 删除属性显示 :none; so the item will be visible

javascript - 网页设计师与前端开发人员

javascript - 创建 Canvas 元素的最佳实践

css - 使径向渐变半径为 200px

css - 径向渐变和绝对定位在不同浏览器中产生不同的结果

CSS 过渡背景渐变

javascript - 在滚动条上显示一系列图像