[面试题目]如何用三个Div实现彩虹效果?

面试中有个有趣的题目~
HTML code:

<div class="box1"></div><div class="box2"></div><div class="box3"></div>

CSS:

.box1, .box2, .box3 {    width: 200px;    height:40px;
}
.box1, .box3{    margin: 20px;
}
.box2 {    margin:40px 20px;
}

要求,基于这三个Div,添加CSS,做出一列有5个Div的效果,并且背景色依次为蓝色,黄色,红色,黄色,蓝色。
提示:利用css maring塌陷效果

我是用:before, :after添加Div做的。但是,感觉好像不是正确答案,虽然效果一样。
demo:http://jsfiddle.net/etianqq/ocdv1xrh/

不知道是否有更优的解法???尤其是提示,“利用css maring塌陷效果”。虽然明白塌陷的概念,但是如何利用,就不得而知了。


跃然一笑
浏览 1130回答 2
2回答

红糖糍粑

一个div就够,用CSS3径向渐变。div{&nbsp; &nbsp; &nbsp; &nbsp; width: 200px;&nbsp; &nbsp; &nbsp; &nbsp; height: 100px;&nbsp; &nbsp; &nbsp; &nbsp; background: -webkit-radial-gradient(50% 100%,blue 0px, blue 20px, red 20px, red 40px, yellow 40px, yellow 60px, green 60px, green 80px, blue 80px, blue 100px,#fff 100px);&nbsp; &nbsp; &nbsp; &nbsp; border-radius: 100% 100% 0 0;&nbsp; &nbsp; }

largeQ

.box1, .box2, .box3 {&nbsp; &nbsp; width: 200px;}.box1 {&nbsp; &nbsp; background: green;&nbsp; &nbsp; height: 200px;&nbsp; &nbsp; margin-bottom: -160px;}.box2 {&nbsp; &nbsp; background: yellow;&nbsp; &nbsp; height: 120px;&nbsp; &nbsp; margin-bottom: -80px;}.box3 {&nbsp; &nbsp; background: red;&nbsp; &nbsp; height: 40px;}
打开App,查看更多内容
随时随地看视频慕课网APP