如何将2种背景颜色添加到容器div中。我见过一些有效的解决方案,但每种颜色只有50%的高度。但是我需要一个具有设定高度(见图)。
我目前的解决方案是背景1为1x260px背景图像,背景2为背景颜色。然而,当您打开带有背景颜色2闪烁的页面时,这将离开您,直到后台1加载完毕,我想避免这种闪光。这是页面的结构:
提前感谢您的帮助!
更新
我无法在我的上下文中使任何解决方案正常工作,但最终我自己解决了(我现在意识到我的简短可能会略微不完整)。
这是我的JSFiddle
以下是代码:
html, body {
margin:0;
padding:0;
}
.other-content {
background-color:lightblue;
width:100%;
height:20px;
}
.page-content {
width:100%;
background-color:lightgray;
}
.container {
width:600px;
height:700px; /* This height is flexible and can change to whatever value you want */
background-color:gray;
margin-top:-50px;
margin-left:auto;
margin-right:auto;
}
.white-bg {
background-color:dodgerblue;
height:50px;
width:100%;
}

<div class="other-content"></div>
<div class="page-content">
<div class="white-bg"></div>
<div class="container"></div>
</div>
<div class="other-content"></div>
&#13;
答案 0 :(得分:1)
试试这个
background: rgba(47,102,179,1);/* Old Browsers */
background: -moz-linear-gradient(top, rgba(47,102,179,1) 0%, rgba(255,255,255,1) 260px, rgba(255,255,255,1) 100%); /* FF3.6+ */
background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(47,102,179,1)), color-stop(260px, rgba(255,255,255,1)), color-stop(100%, rgba(255,255,255,1)));/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(47,102,179,1) 0%, rgba(255,255,255,1) 260px, rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(47,102,179,1) 0%, rgba(255,255,255,1) 260px, rgba(255,255,255,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(47,102,179,1) 0%, rgba(255,255,255,1) 260px, rgba(255,255,255,1) 100%); /* IE 10+ */
background: linear-gradient(to bottom, rgba(47,102,179,1) 0%, rgba(255,255,255,1) 260px, rgba(255,255,255,1) 100%);/* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2f66b3', endColorstr='#ffffff', GradientType=0 );/* IE6-9 */
它的渐变,如果您不喜欢它,请将0%更改为100%或使用参数
答案 1 :(得分:1)
您可以在页面上添加::after
之类的伪元素。
* { margin: 0; padding: 0; }
body {
background: #00AEEF;
}
body:after {
background: #0F75BC;
content: "";
display: block;
height: 50px;
left: 0;
top: 0;
width: 100%;
}
&#13;
答案 2 :(得分:1)
您可以使用CSS颜色渐变。可以为第一个波段以像素为单位指定色标,然后为其余波段指定100%。这样您就不必根据容器计算自动高度。
以下是基于您的用例的示例。我把60px作为第一个乐队的高度,使它整齐地放在下面的片段中。您可以根据需要将其设为260px。 (单击整页以获得更好的视图)。
html, body {
height: 100%;
}
.container {
width: 70%;
margin: auto;
height: 100%;
background-image:
linear-gradient(
to bottom,
#0f75bc, /* Start with color of top band */
#0f75bc 60px, /* Top-band color stops at 260px */
#00aeef 60px, /* Bottom-band color starts at 260px */
#00aeef 100% /* Bottom-band color continues to 100% i.e. remaining height */
);
}
&#13;
<div class="container"></div>
&#13;
答案 3 :(得分:0)
习惯了
CSS
.nice{
width:500px;
height:500px;
margin:auto;
position:relative;
background:red;
color:white;
z-index:1;
}
.nice:after{
content:"";
position:absolute;
left:0;
right:0;
top:0;
bottom:70%;
background:green;
z-index:-1;
}
<div class="nice">helo helo helo </div>
答案 4 :(得分:0)
在这里,我只使用了css和背景颜色。
工作JsFiddle
HTML:
<div class="part-b">
<div class="background"></div>
<div class="container">
<div class="row">
Content
</div>
</div>
</div>
CSS:
.container {
width: 960px !important;
position: relative;
}
.part-b {
background: yellow;
overflow: hidden;
position: relative;
}
.part-b .background {
width: 100%;
height: 100px;
background-color: green;
}
.row {
height: 50px;
}