Выровнять содержимое блока div по нижнему краю

Чтобы выровнить блок по нижнему краю можно поступить следующим образом.

Вариант №1

CSS:

* {
  padding: 0;
  margin: 0;
}
div {
  width: 500px;
  display: table;
  min-height: 250px;
  background: red;
}
div p {
  display: table-cell;
  vertical-align: bottom;
}

html код страницы:

<div>
   <p>Данный текст находится ровно по нижнему краю того места, где он вставлен.</p>
</div>

Вариант №2

CSS:

*{
    padding: 0;
    margin: 0;
}

div{
    width: 500px;
    min-height: 250px;
    background: #00f;
    color: #fff;
    position: relative; 
    padding: 15px;
    box-sizing: border-box;
}
div p{
    position: absolute; bottom: 0;
}

html код страницы:

<div>
   <p>Данный текст находится ровно по нижнему краю того места, где он вставлен.</p>
</div>

  1. CSS
  2. HTML