Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带宽度约束的径向CSS渐变?_Css_Gradient - Fatal编程技术网

带宽度约束的径向CSS渐变?

带宽度约束的径向CSS渐变?,css,gradient,Css,Gradient,下面是我试图用CSS渐变构建的按钮渐变: 这通常是很容易做到的,但是正如你所看到的,顶部的梯度看起来更像是一个大的裁剪径向梯度,因为它在中间有一点倾斜,并且不一直延伸到边缘。 那么,你有什么想法可以用CSS来实现这一点吗?这不是一个完整的答案,但这可能是有用的 Chris在这里举了一个例子: 具有径向梯度。这是使用CSS3和特定于浏览器的实现,旧浏览器可能不支持这些实现 否则,我不知道有什么办法不使用图像就能实现这一点 希望这有帮助 鲍勃(Bob)我只是为了好玩才把它放在一起,但谁知道它在

下面是我试图用CSS渐变构建的按钮渐变:

这通常是很容易做到的,但是正如你所看到的,顶部的梯度看起来更像是一个大的裁剪径向梯度,因为它在中间有一点倾斜,并且不一直延伸到边缘。


那么,你有什么想法可以用CSS来实现这一点吗?

这不是一个完整的答案,但这可能是有用的

Chris在这里举了一个例子:

具有径向梯度。这是使用CSS3和特定于浏览器的实现,旧浏览器可能不支持这些实现

否则,我不知道有什么办法不使用图像就能实现这一点

希望这有帮助


鲍勃(Bob)

我只是为了好玩才把它放在一起,但谁知道它在chrome之外会做什么呢。我以前从未玩过径向渐变,但这很有趣——我想我的(可怕的)css可能会对你的项目有所启发

CSS:

}

HTML:


升级以获取更多信息

这肯定需要一些调整才能使它在不同的浏览器中看起来正确(我还没有真正做到):

CSS

HTML

升级获取更多信息

在css中,径向背景中心不能位于其容器外,但可以通过使用渐变定位子元素来偏移径向背景。基本上,您希望这样做:

这接近于simshaun的优秀解决方案。但是,因为我喜欢挑战,所以我想尝试一些零额外标记的东西,我想到了这个:


这非常接近您的解决方案,没有额外的标记。这只是一个带有嵌入阴影的线性渐变,可以衰减按钮的最左边和最右边的边缘。

如果您决定这样做的话。我刚刚发现这个很酷的工具,可以尝试各种径向渐变选项。
#button {
display: table;
-moz-border-radius: 5px;
border-radius: 5px;
margin: 50px auto;
padding: 10px;
background: 
    -webkit-gradient(radial, 50% -200%, 180, 50% -110%, 35, from(#f81499), to(#fff), color-stop(.7,#f81499));
color: #fff;
text-shadow: 0px -1px 0 rgba(0,0,0,.25);
font-family: "droid sans", sans-serif;
font-size: 13px;
-webkit-box-shadow: 0px 1px 0px rgba(0,0,0,0.25);
<html>
 <head>
  <title></title>
  <link type="text/css" href="test.css" rel="stylesheet" />
 </head>
 <body>
  <div id="button">Upgrade for more</div>
 </body>
</html>
.upgrade {
    background: #FF3397;
    color: #FFF;
    float: left;
    height: 30px;
    line-height: 30px;
    position: relative;
    text-align: center;
    width: 160px;

    -webkit-box-shadow:  0px 0px 3px #999;
    -moz-box-shadow:  0px 0px 3px #999;
    box-shadow:  0px 0px 3px #999;
    -moz-border-radius: 5px;
    border-radius: 5px;
    text-shadow: 1px -1px 3px #E60071;
    filter: dropshadow(color=#666, offx=2, offy=-2);

    font-family: Verdana, Sans-Serif;
    font-size: 12px;
    font-weight: bold;
}

.upgrade span {
    background-image: -moz-radial-gradient(50% 50% 90deg,ellipse contain, #FFFFFF, rgba(255, 255, 255, 0));
    background-image: -webkit-gradient(radial, 50% -50%, 51, 50% 0, 110, from(#FFFFFF), to(rgba(255, 255, 255, 0)));
    display: block;
    height: 100px;
    left: -50px;
    position: absolute;
    top: -70px;
    width: 260px;
    z-index: 1;
}
.upgrade div {
    z-index 2;
}
<div class="upgrade"><span></span><div>Upgrade for more</div></div>