将h2垂直对齐底部

时间:2016-10-31 11:59:47

标签: html css vertical-alignment

我从基础开始学习html和css。我编写了一些简单的网站。关于将h2垂直对齐到底部我有一个问题。

我想要实现的是具有背景图像(高度240px)的标题,其带有带文本的黑条:"爱黄瓜"对齐到它的底部。 我尝试了多种解决方案,但他们没有工作。

文本应该是" 9为什么你应该喜欢黄瓜的原因"。

这是相关的css和html:



.body {
    clear: both;
    width: 800px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

header {
    height: 240px;
    margin: 1em auto 3em;
    background-image: url("https://media.mercola.com/ImageServer/Public/2014/August/cucumber-health-benefits-fb.jpg");
    background-size: cover;
    text-align: center;

    font-family: 'Lobster', Georgia, Times, serif;
}

#caption {
    width: 100%;
    height: 70px;
    line-height: 70px;

    background: #191919;
    color: #ffffff;
    font-size: 2em;
    letter-spacing: 1px;

    border-bottom-left-radius: 15px;
    -webkit-border-bottom-left-radius: 15px;
    -moz-border-radius-bottomleft: 15px;

    border-bottom-right-radius: 15px;
    -webkit-border-bottom-right-radius: 15px;
    -moz-border-radius-bottomright: 15px;

<header class="body">
	<h2 id="caption">Love cucumbers <3</h2>
</header>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

你可以使用相对于头部的位置和h2的绝对位置。请参阅以下更新的代码

.body {
    clear: both;
    width: 800px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

header {
    height: 240px;
    margin: 1em auto 3em;
    background-image: url("https://media.mercola.com/ImageServer/Public/2014/August/cucumber-health-benefits-fb.jpg");
    background-size: cover;
    text-align: center;

    font-family: 'Lobster', Georgia, Times, serif;
    position:relative;
}

#caption {
    width: 100%;
    height: 70px;
    line-height: 70px;

    background: #191919;
    color: #ffffff;
    font-size: 2em;
    letter-spacing: 1px;
    position:absolute;
    bottom:0px;
    margin-bottom:0px;
    border-bottom-left-radius: 15px;
    -webkit-border-bottom-left-radius: 15px;
    -moz-border-radius-bottomleft: 15px;

    border-bottom-right-radius: 15px;
    -webkit-border-bottom-right-radius: 15px;
    -moz-border-radius-bottomright: 15px; }
<header class="body">
	<h2 id="caption">Love cucumbers <3</h2>
</header>

答案 1 :(得分:0)

您必须将标题的行高与标题的高度相同。

#caption {
    width: 100%;
    height: 100%;
    line-height: 240px;
}

答案 2 :(得分:0)

这是working fiddle

我基本上将这些属性添加到.body class

  display: table;
  position: relative;
  height: 200px; /* Edit this with as you wish */

#caption id

  display: table-cell;
  vertical-align: bottom;

PS:背景图片属性不适用于table-cell元素,因此我将背景图片应用于body tag