Как выровнять заголовок и описание поверх (слайдера) и по центру слайдера (без применения height и width)?

body {
    font-family: 'Ubuntu', sans-serif;
    margin: 0;
    padding: 0;
    color: #1A2B48;
}

h1 {
    font-family: Ubuntu Condensed;
    font-size: 48px;    
}

.container {
    width: 1170px;
    margin: 0 auto;
}

.under {
    padding-top: 15px;
    margin: 0;
}

/*СЛАЙДЕР*/

.carousel-cell {
  width: 100%; /* full width */
  height: 400px; /* height of carousel */
  margin-right: 10px;
  counter-increment: gallery-cell;
}
/*оптимизация под экраны*/

.carousel-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.header-text {
    position: absolute;
    align-items: center;
    color: white;
    z-index: 100;
    text-align: center;
}



/*+++++++++++++++++++++++++++++*/


/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: 15px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: white;
  border-radius: 50%;
  opacity: 1;
  cursor: pointer;
  border: 2px solid white;
}

.flickity-page-dots .dot.is-selected {
/*  opacity: 1;*/
  background: transparent;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/main.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
    </script>
    <script src="https://unpkg.com/flickity@2/dist/flickity.pkgd.min.js">
    </script>
    <title>Слайдер и заголовок поверх</title>
</head>
<body>



<div class="header-slider">

        <div class="container">
    <div class="header-text">
            <h1>
                Отдых для всей семьи на теплом берегу
            </h1>
            <p class="under">
                Book incredible things to do around the world.
            </p>
    </div>
        </div>

    <!-- СЛАЙДЕР -->
<div class="header-sliders">
<div class="carousel " data-flickity='{ "autoPlay": true, "prevNextButtons": false, "wrapAround": true }'>
  <div class="carousel-cell">
    <img src="https://pokter.ru/wp-content/uploads/2019/02/doma-v-stile-haj-tek-sovremennye-tehnologii-v-interere-kvartiry-1.jpg" alt="uj">
  </div>
  <div class="carousel-cell">
    <img src="https://i1.wallbox.ru/wallpapers/main2/201715/doroga-trava-oblaka-dereva-gory-skaly-sklon-svejcaria-usele-dolina-alpy.jpg" alt="">
  </div>
  <div class="carousel-cell">
    <img src="https://pokter.ru/wp-content/uploads/2019/02/doma-v-stile-haj-tek-sovremennye-tehnologii-v-interere-kvartiry-1.jpg" alt="">
  </div>
  <div class="carousel-cell">
    <img src="https://i1.wallbox.ru/wallpapers/main2/201715/doroga-trava-oblaka-dereva-gory-skaly-sklon-svejcaria-usele-dolina-alpy.jpg" alt="">
  </div>
  <div class="carousel-cell">
    <img src="https://pokter.ru/wp-content/uploads/2019/02/doma-v-stile-haj-tek-sovremennye-tehnologii-v-interere-kvartiry-1.jpg" alt="">
  </div>
</div>
</div>
<!-- СЛАЙДЕР КОНЕЦ -->

</div>


</body>
</html>

текст, выделенный жирным шрифтом


Ответы (1 шт):

Автор решения: MaximLensky

Самый любимый и простой хак - это абсолютное позиционирование + отрицательное translate по обеим осям

Кстати что бы ваш текст был резиновым примените fon-size в vw

body {
  font-family: "Ubuntu", sans-serif;
  margin: 0;
  padding: 0;
  color: #1a2b48;
}

h1 {
  font-family: Ubuntu Condensed;
  font-size: 48px;
}

.container {
  width: 1170px;
  margin: 0 auto;
}

.under {
  padding-top: 15px;
  margin: 0;
}


/*СЛАЙДЕР*/

.carousel-cell {
  width: 100%;
  /* full width */
  height: 400px;
  /* height of carousel */
  margin-right: 10px;
  counter-increment: gallery-cell;
}


/*оптимизация под экраны*/

.carousel-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.header-text {
  position: absolute;
  align-items: center;
  color: white;
  z-index: 100;
  text-align: center;
}


/*+++++++++++++++++++++++++++++*/


/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}


/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}


/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19f;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}


/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}


/* right to left */

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}


/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: 15px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: white;
  border-radius: 50%;
  opacity: 1;
  cursor: pointer;
  border: 2px solid white;
}

.flickity-page-dots .dot.is-selected {
  /*  opacity: 1;*/
  background: transparent;
}

.header-slider {
  position: relative;
}

.header-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}
<div class="header-slider">

  <div class="container">
    <div class="header-text">
      <h1>
        Отдых для всей семьи на теплом берегу
      </h1>
      <p class="under">
        Book incredible things to do around the world.
      </p>
    </div>
  </div>

  <!-- СЛАЙДЕР -->
  <div class="header-sliders">
    <div class="carousel " data-flickity='{ "autoPlay": true, "prevNextButtons": false, "wrapAround": true }'>
      <div class="carousel-cell">
        <img src="https://pokter.ru/wp-content/uploads/2019/02/doma-v-stile-haj-tek-sovremennye-tehnologii-v-interere-kvartiry-1.jpg" alt="uj">
      </div>
      <div class="carousel-cell">
        <img src="https://i1.wallbox.ru/wallpapers/main2/201715/doroga-trava-oblaka-dereva-gory-skaly-sklon-svejcaria-usele-dolina-alpy.jpg" alt="">
      </div>
      <div class="carousel-cell">
        <img src="https://pokter.ru/wp-content/uploads/2019/02/doma-v-stile-haj-tek-sovremennye-tehnologii-v-interere-kvartiry-1.jpg" alt="">
      </div>
      <div class="carousel-cell">
        <img src="https://i1.wallbox.ru/wallpapers/main2/201715/doroga-trava-oblaka-dereva-gory-skaly-sklon-svejcaria-usele-dolina-alpy.jpg" alt="">
      </div>
      <div class="carousel-cell">
        <img src="https://pokter.ru/wp-content/uploads/2019/02/doma-v-stile-haj-tek-sovremennye-tehnologii-v-interere-kvartiry-1.jpg" alt="">
      </div>
    </div>
  </div>
  <!-- СЛАЙДЕР КОНЕЦ -->

</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://unpkg.com/flickity@2/dist/flickity.pkgd.min.js"></script>

→ Ссылка