我正在处理我的项目。 我想要3个div在一行和固定位置..
我希望我的输出是这样的:
<div class="header-fixed">
<div class="header-bg1"></div>
<div class="header-logo"></div>
<div class="header-bg2"></div>
</div>
CSS
.header-fixed{
position: fixed;
top: 0;
width: 100%;
}
.header-bg1{
background:url('images/header-bg1.png') repeat-x;
height: 88px;
left: 469px;
display: block;
}
.header-bg2{
background:url('images/header-bg2.png') repeat-x;
height: 128px;
left: 469px;
display: block;
}
.header-logo{
background:url('images/header-logo.png') no-repeat;
width: 469px;
height: 128px;
}
答案 0 :(得分:0)
将以下内容添加到您的CSS中:
.header-fixed div {
float: left;
clear: none;
}
然后在HTML中将其称为:
<div class="header-fixed">
<div class="header-bg1"></div>
<div class="header-logo"></div>
<div class="header-bg2"></div>
</div>
试试看!
答案 1 :(得分:0)
使用display: inline-block
即可:
将该样式添加到 child divs
:
.header-fixed>div{
display:inline-block;
vertical-align: top;
}
Remove whitespace between those divs
。请注意小提琴中的评论 HTML 。
为第一个和第三个孩子div
添加一些宽度,例如:
.header-bg1, .header-bg2{
width: calc((100% - 469px)/2);
/* 100% of parent width minus the logo width divided */
/* with 2 will put the same width for the first and third child */
/* and center the logo */
}
注意:我已将margin: 0
添加到body
以删除默认margin
。
答案 2 :(得分:0)
这是一个简单的实现,包含2行HTML和少量简单的CSS:
第一个背景是身体上的背景图像
徽标是标题中的图片。
第二个背景位于标题的伪元素上,其位置为position: absolute
和left: (logo width)
/ top: 0;
。
经过测试和使用Chrome,Firefox和IE 9 +(IE 8甚至IE 6和7都可以修改)
注意:已移除正文上的默认边距以防止出现间隙。
body {
background: #D3BC00 url('http://i.imgur.com/tZR9xWD.png') repeat-x;
margin: 0;
}
header {
position: relative;
background: #D3BC00;
width: 500px;
/* smallest size is logo width */
margin: 0 auto;
}
header:before {
content: '';
display: block;
height: 100%;
background: #D3BC00 url('http://i.imgur.com/GkQQ4PF.png') repeat-x;
position: absolute;
width: 100%;
top: 0;
left: 469px;
/* logo width */
}
&#13;
<header>
<img class="logo" src="http://i.imgur.com/m3EiiKN.png" />
</header>
&#13;