.myDiv {
position: relative; /*Parent MUST be relative*/
z-index: 9;
background: green;
/*Set width/height of the div in 'parent'*/
width:100px;
height:100px;
}
.myDiv:before {
content: "";
position: absolute;/*set 'child' to be absolute*/
z-index: -1; /*Make this lower so text appears in front*/
/*You can choose to align it left, right, top or bottom here*/
top: 0;
right:0;
bottom: 60%;
left: 0;
background: red;
}
<div class="myDiv">this is my div with multiple colours. It work's with text too!</div>
6条答案
按热度按时间35g0bw711#
是的,这是可能的!你可以使用许多颜色和图像,因为你的愿望,这里是正确的方式:
lokaqttq2#
你真的不能-背景色应用于整个元素背景。保持它们简单。
你可以定义一个带有清晰颜色边界的CSS渐变作为背景,例如:
但目前只有少数浏览器支持这种功能。
(See还有http://www.webkit.org/blog/1424/css3-gradients/,用于解释CSS3梯度,包括锐利的颜色边界技巧。)
vlju58qv3#
您可以根据需要使用任意多的颜色和图像。
请注意,渲染背景图像的优先级是FILO,第一个指定的图像位于顶层,最后一个指定的图像位于底层(请参见代码段)。
9jyewag04#
在这个LIVE DEMO中,我已经通过使用:before css选择器实现了这一点,它看起来工作得很好。
我想我会添加这个,因为我觉得它可以工作得很好的百分比栏/视觉水平的东西。
这也意味着如果没有必要,您不必创建多个div,并保持此页面最新
jvidinwx5#
您只能使用一种颜色,但尽可能多的图像,你想要的,这里是格式:
第一个月
<final-bg-layer> = <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box>{1,2} || <background-color>
或
background: url(image1.png) center bottom no-repeat, url(image2.png) left top no-repeat;
如果你需要更多的颜色,做一个纯色的图像并使用它。我知道这不是你想听到的,但我希望它能有所帮助。
格式来自http://www.css3.info/preview/multiple-backgrounds/
pkmbmrz76#
如果有人需要一个不同颜色的CSS背景重复水平条纹,这里是我如何设法实现这一点:
JSfiddle