Как добавить кнопку и абзац под изображение лайтбокса, не обрезая его? - PullRequest
0 голосов
/ 05 августа 2020

Здравствуйте, я создал изображение лайтбокса только с CSS, и я хотел добавить 2 кнопки и параграф описания под изображением (это после того, как вы нажмете на изображение и увидите его в лайтбоксе)

I подошел к тому, чтобы добавить это, но проблема в том, что когда браузер не такой высокий, кнопки и абзацы не отображаются, и нет возможности прокручивать и видеть их.

Если бы кто-то мог мне помочь, я был бы признателен .

Lightbox CSS Только с изображением и абзацем

// COLORS

$yellow-color: #d9b311;
$light-blue: #0080A7;
$medium-color: #ccc;
$dark-blue: #00111e;

// All Buttons will share these styles
%btn-shared {
  display: inline-block;
  padding: 0.8rem 2rem;
  transition: all 0.5s;
  border: none;
  cursor: pointer;
}


.btn {
  &-main {
    @extend %btn-shared; // Brings styles from BTN Shared
    color: #333;
    background-color: $yellow-color;
  }

  &-light {
    @extend %btn-shared; // Brings styles from BTN Shared
    color: #333;
    background-color: $light-blue;
  }

  &-dark {
    @extend %btn-shared; // Brings styles from BTN Shared
    color: #f4f4f4;
    background-color: $dark-blue;
  }
}

.p2 {
  &:hover {
    opacity: 0.3;
    cursor: pointer;
  }
}


/** LIGHTBOX MARKUP **/

.lightbox {
  /** Default lightbox to hidden */
  display: none;

  /** Position and style */
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100%;
  text-align: center;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
}

.lightbox img {
  /** Pad the lightbox image */
  max-width: 650px;
  max-height: 100%;
  margin-top: 2%;
}
.lightbox .image-button-container {
  position: relative;
  display: flex;
  justify-content: center;

  .buttons-container {
    position: absolute;
    bottom: 40px;
    display: flex;
    justify-content: center;

    .btn-dark {
      margin: 0 1rem;
      border: 3px solid white;
    }
  }
}

.lightbox:target {
  /** Remove default browser outline */
  outline: none;

  /** Unhide lightbox **/
  display: block;
}
image

Я использую S CSS для этого проекта. Спасибо.

1 Ответ

0 голосов
/ 05 августа 2020

Здесь много чего происходит относительно позиционирования и отображения элементов, но ниже вы можете увидеть пример использования переполнения в div, который содержит изображение, текст и кнопки.

применить следующий css на ваш .image-button-container

width: 517px;
margin: 0 auto;
display: block;
overflow: auto;
height: 100%;
position: relative;

примените следующий css к вашему .lightbox img, также удалите из него max-height: 100%; и margin-top: 2%;, чтобы он мог применить автоматическую высоту и удалить ненужное верхнее поле.

width: 100%;
display: block;

примените следующий css к вашему .lightbox p

display: block;
position: relative;

и, наконец, примените следующий css к .buttons-container, а также удалите правило bottom: 40px.

display: block;
position: relative;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...