.about
有bottom: 0
和width: 100%
,为什么它不在.about
的底部,为什么它没有100%呢?
Css本身就在这里
*{
box-sizing: border-box;
}
.here {
border: 1px solid black;
overflow: hidden;
}
.hotel-img {
position: relative;
width: 30%;
float: left;
}
.hotel-rating {
position: absolute;
bottom: 0;
}
.about {
float: left;
width: 70%;
position: relative;
}
.about a {
position: absolute;
bottom: 0;
width: 100%;
}
Html代码在这里
<div class="here">
<div class="hotel-img">
<img src="imglink" alt="">
<div class="hotel-rating">
XXXX
</div>
</div>
<div class="about">
<span>
<span class="name">Hotel Imperial</span>
<span class="address">5th Ave</span>
</span>
<div class="benefits">
<span>WiFi</span>
<span>Pool</span>
<span>Dinner</span>
</div>
<a href="index.php">Buy night from $99 per night</a>
</div>
</div>
完整代码位于codepen http://codepen.io/anon/pen/vNrvZm
答案 0 :(得分:2)
从position:relative;
移除.about
并将其添加到.here
,如此;
.here {
border: 1px solid black;
position: relative;
overflow: hidden;
}
.about {
float: left;
width: 70%;
padding-left: 2%;
}
答案 1 :(得分:1)
如果要在<a href="index.php">Buy night from $99 per night</a>
div的底部显示{@ 1}},请务必清楚显示.here
的位置,然后按@Sean Murrin提供的答案。但是,如果要显示在结束福利div之后,您必须在代码中创建.about {position:relative}
。
您当前的代码是重叠的,因为position: absolute; bottom:0;
表示它将在结束.benefits div
之后开始,因为div也将在此处结束。如果你提供大约div的高度,那么大约div不会在这里结束。
你可以提供填充
.about {
float: left;
width: 70%;
position: relative;
padding-bottom:30px; //should be greater then the height of `.about a` so it will not overlap.
}
或
.about {
float: left;
width: 70%;
position: relative;
height: something px; //define height of about div
}
答案 2 :(得分:0)
.about
的任何祖先都没有明确的高度(我怀疑你真正的意思是.about
.about a
的孩子的锚<body>
)。
所以我设置了一个稳定且反应灵敏的高度<body>
。的 height: 100vh 强>
将 100vw 添加到height: 100%
宽度(对于手头的问题,没有必要)。
将.here
添加到.about
和.about a
。现在,包含.about
的每个元素都具有视口的高度。
顺便说一下,我注意到.about a
宽度为70%,图像为30%,我认为这是你想要的。遗憾的是,<a>
看起来很奇怪,因为它不会覆盖视口的整个宽度,并且它不在页面中居中。我做了两个演示。
我在第二个演示中更改了标记。
.here
已移至<footer>
,然后换入<footer>
提供<a>
所有position: fixed
个属性和display: inline-table
我还为标题,地址和图片设置了.about a
,以便他们能够发挥出色。
以下是前面提到的2个演示的链接。