如何在两个部分之间定位元素同时响应?
How to position element between two sections while also being responsive?
首先,这是我要实现的示例:
这是我用来实现的代码
HTML:
<div class="card demo-card-header-pic" style="margin:15px;">
<div style="background-image:url(https://pbs.twimg.com/profile_banners/6253282/1431474710/web_retina)" valign="bottom" class="card-header color-white no-border"></div>
<div class="avatar">
<img src="http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.png" style="border-radius:50px;">
</div>
<div class="card-content">
<div class="card-content-inner">
<div>
<p><b>****</b> wants to know what you think of him!</p>
</div>
<div>
<span class="text-muted" style="float:left;">Asked two days ago</span>
<span style="float:right;" class="text-muted"> 5 comments</span>
</div>
</div>
</div>
<div class="card-footer">Footer</div>
</div>
CSS:
.demo-card-header-pic .card-header
{
height: 40vw;
background-size: cover;
background-position: center;
}
.avatar
{
border-radius: 50px;
}
.card > .avatar
{
position: relative;
top: -40px;
left:5px;
}
.text-muted {
color: #777;
}
我的问题是如何去掉卡片 header 和文字之间的所有白色 space?我尝试使用 position:absolute
,但只要显示发生变化,即使使用百分比,那也会造成混乱。
只需从您的主要 div 中删除 margin
并且如果您想删除 body 默认白色 space 然后在 body
上使用以下 css
body{
margin:0;
padding:0;
}
一个快速的解决方案是给 .card-content
一个负的 margin-top 值。我同意这不是最优雅的解决方案,但它完成了工作。此外,在页脚中添加 clear:both
将防止您目前拥有的两个 DIV 重叠
CSS:
.card-content{
margin-top: -40px;
}
.card-footer{
clear: both;
}
首先,这是我要实现的示例:
这是我用来实现的代码
HTML:
<div class="card demo-card-header-pic" style="margin:15px;">
<div style="background-image:url(https://pbs.twimg.com/profile_banners/6253282/1431474710/web_retina)" valign="bottom" class="card-header color-white no-border"></div>
<div class="avatar">
<img src="http://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.png" style="border-radius:50px;">
</div>
<div class="card-content">
<div class="card-content-inner">
<div>
<p><b>****</b> wants to know what you think of him!</p>
</div>
<div>
<span class="text-muted" style="float:left;">Asked two days ago</span>
<span style="float:right;" class="text-muted"> 5 comments</span>
</div>
</div>
</div>
<div class="card-footer">Footer</div>
</div>
CSS:
.demo-card-header-pic .card-header
{
height: 40vw;
background-size: cover;
background-position: center;
}
.avatar
{
border-radius: 50px;
}
.card > .avatar
{
position: relative;
top: -40px;
left:5px;
}
.text-muted {
color: #777;
}
我的问题是如何去掉卡片 header 和文字之间的所有白色 space?我尝试使用 position:absolute
,但只要显示发生变化,即使使用百分比,那也会造成混乱。
只需从您的主要 div 中删除 margin
并且如果您想删除 body 默认白色 space 然后在 body
body{
margin:0;
padding:0;
}
一个快速的解决方案是给 .card-content
一个负的 margin-top 值。我同意这不是最优雅的解决方案,但它完成了工作。此外,在页脚中添加 clear:both
将防止您目前拥有的两个 DIV 重叠
CSS:
.card-content{
margin-top: -40px;
}
.card-footer{
clear: both;
}