【问题标题】:Multiple vertical background colors in CSS3CSS3中的多种垂直背景颜色
【发布时间】:2014-11-29 13:11:51
【问题描述】:

问题:

尝试创建一个解决方案,让我有五种不同的背景颜色来填充网页,而不管宽度如何。我已经设法用 5 个 div 标签做到了这一点,但我想知道是否可以完全使用 CSS3 做到这一点?

我想要的结果是:

我已经搜索过 Stackoverflow 和网络,但没有任何结果,或者我的搜索能力很差。

【问题讨论】:

标签: jquery html css background-color


【解决方案1】:

您可以使用linear-gradients 来实现此目的。

Example Here

html, body {
    height: 100%;
}
body {
    background-image: linear-gradient(90deg,
        #F6D6A8 20%,
        #F5BA55 20%, #F5BA55 40%,
        #F09741 40%, #F09741 60%,
        #327AB2 60%, #327AB2 80%,
        #3A94F6 80%);
}

只需添加供应商前缀即可获得额外的浏览器支持

body {
    background: -moz-linear-gradient(90deg, #F6D6A8 20%, #F5BA55 20%, #F5BA55 40%, #F09741 40%, #F09741 60%, #327AB2 60%, #327AB2 80%, #3A94F6 80%);
    background: -webkit-linear-gradient(90deg, #F6D6A8 20%, #F5BA55 20%, #F5BA55 40%, #F09741 40%, #F09741 60%, #327AB2 60%, #327AB2 80%, #3A94F6 80%);
    background: linear-gradient(90deg, #F6D6A8 20%, #F5BA55 20%, #F5BA55 40%, #F09741 40%, #F09741 60%, #327AB2 60%, #327AB2 80%, #3A94F6 80%);
}

浏览器支持可以在here找到。

【讨论】:

  • 好,你的比我的好很多。已投票!
  • 没有html, body { height: 100%; } 似乎也能正常工作。 Fiddle
  • @webinista 是的,你是对的,它在大多数情况下都可以工作,但是看看当你将margin: 0 添加到body 元素时会发生什么。 (example)。添加html, body { height: 100%; } 将涵盖大多数用例,see
【解决方案2】:

看这个我为这个做了一个技巧。http://jsfiddle.net/753gugpt/

我像这样使用linear-gradient CSS3 属性:

#container {
  width: 100%;
  /*or 900px for example */
  overflow-x: hidden;
}
#exampleB {
  width: 32700px;
  height: 285px;
  background-color: #a8e9ff;
  filter: progid: DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr=#a8e9ff, endColorstr=#052afc);
  background-image: -moz-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%);
  background-image: linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%);
  background-image: -webkit-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%);
  background-image: -o-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%);
  background-image: -ms-linear-gradient(left, #a8e9ff 0%, #052afc 0%, #485e69 12%, #ff8d00 1%);
  background-image: -webkit-gradient(linear, left bottom, right bottom, color-stop(0%, #a8e9ff), color-stop(0%, #052afc), color-stop(12%, #485e69), color-stop(1%, #ff8d00));
}
<div id="container">
  <div id="exampleB"></div>
</div>

也许这对你有用:)

【讨论】:

  • 正如我所说@Josh Crozier 的解决方案比我的解决方案要好得多。但它仍然以一种方式工作! :) 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-23
  • 2012-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
相关资源
最近更新 更多