我想让颜色以圆圈的中心来渐变 比如把圆圈分四分 每一个半圆为一种颜色渐变 这个意思 该怎么编?

我想让颜色以圆圈的中心来渐变 比如把圆圈分四分 每一个半圆为一种颜色渐变 这个意思 该怎么编?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>以圆圈为中心颜色渐变</title>
<style type="text/css">
div {
    width: 400px; height: 400px;
    border-radius: 200px;
    margin: 150px auto;
    background: -webkit-linear-gradient(red, blue);
    background:    -moz-linear-gradient( right red, blue);
    background:      -o-linear-gradient(red, blue);
    background:         linear-gradient( 45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%);
}
</style>
</head>
<body>
<div></div>
</body>
</html>

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,试想实现如下效果吗?

http://img1.sycdn.imooc.com/climg//58a432450001dac302630243.jpg

思路,HTML有四个div , 每个div完成一个四份之一的圆,然后设置渐变,在通过定位拼在一起呦,希望对你有帮助,祝学习愉快,欢迎采纳。

  • <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>以圆圈为中心颜色渐变</title> <style type="text/css"> *{margin:0; padding:0;} .one{ width: 200px; height: 200px; border-radius: 0 0 0 200px ; float: left;margin-top: 200px; background: linear-gradient( -45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%);} .two{ width: 200px; height: 200px; border-radius: 0 0 200px 0; float: left;margin-top: 200px; background: linear-gradient( 45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%); } .three{ width: 200px; height: 200px; border-radius: 200px 0 0 0; float: left; background: linear-gradient( 45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%); } .four{ width: 200px; height: 200px; border-radius:0 200px 0 0; float: left; background: linear-gradient( -45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%); } </style> </head> <body> <div class="one"></div> <div class="two"></div> <div class="three"></div> <div class="four"></div> </body> </html>
    2017-02-15 20:34:36
小于飞飞 2017-02-16 15:07:30

定位不要使用float:left ,使用position或者transform: translate(),达到你想要的效果。

*{margin:0; padding:0;} 
.one{ width: 200px; height: 200px; border-radius: 0 0 0 200px ;margin-top: 200px; background: linear-gradient( -45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%);}
.two{ width: 200px; height: 200px; border-radius: 0 0 200px 0; margin-top: 200px; background: linear-gradient( 45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%); 
transform: translate(200px,-400px)}
 .three{ width: 200px; height: 200px; border-radius: 200px 0 0 0; background: linear-gradient( 45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%); 
 transform: translate(0px,-800px)} 
 .four{ width: 200px; height: 200px; border-radius:0 200px 0 0;  background: linear-gradient( -45deg,red 0%,green 20%, yellow 40%,blue 60%,orange 80%); transform: translate(200px,-1000px)}

希望对你有帮助,祝学习愉快,欢迎采纳。

  • 非常有帮助 小小的一个指点 将使我在学习的前进道路上促进了一大步,灰常感谢!
    2017-02-16 18:28:07
  • 刚好我也学到了transform这里来了 是说这里面的translare的作用怎么怪怪的 原来可以这样 立马应用
    2017-02-16 18:29:44
  • 是translate
    2017-02-16 18:30:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师