Как выровнять заголовок и описание поверх (слайдера) и по центру слайдера (без применения 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>
