Как отформатировать текст в <div>для плавной прокрутки с анимацией? - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть JSfiddle . Это незавершенный раздел моего сайта. Проблема, с которой я столкнулся во фрагменте кода, заключается в том, что при корректировке процентных значений CSS для высоты, ширины и, что наиболее важно, для верхнего и левого позиционирования текст не будет иметь должного размера. Я не знаю, если мое расположение неверно или нет. Я не лучший в знании, когда использовать, какие позиции в каких конкретных случаях.

КОД:

@charset "utf-8";

/* CSS Document */

.Experience_Target {
  display: inline-block;
}

.EXP1Box {
  height: 100vh;
  overflow: hidden;
}

#Hangar {
  top: 0;
  height: 50%;
}

#Virtual {
  top: 0;
  height: 50%;
}

.Hangar {
  background: url(https://s8.postimg.cc/d56er2eut/Hangar_Phot.png);
  height: 50%;
  width: 100%;
  background-position: 75%;
  background-repeat: no-repeat;
  transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.Hangar:hover {
  box-shadow: inset 0 0 0 150vw rgba(0, 0, 0, 0.7);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  /* IE 9 */
  transform: scale(1.1);
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand')";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand');
}

.NextEra {
  position: relative;
  width: 0%;
  height: 0%;
  top: 3.5%;
  left: 40%;
  z-index: 1;
  transition: .5s ease;
  -moz-transition: .5s ease;
  -ms-transition: .5s ease;
  -webkit-transition: .5s ease;
  -o-transition: .5s ease;
}

.Hangar:hover .NextEra {
  position: relative;
  width: 70%;
  height: auto;
  top: 0.0%;
  left: 26.3%;
  z-index: 1;
}

h3 {
  font-family: "Myriad Pro";
  font-size: 63px;
  color: white;
}

h4 {
  font-family: "Myriad Pro";
  font-size: 64px;
  color: white;
}

.Hangar:hover .NextText1 {
  position: relative;
  top: 60%;
  left: -18%;
  z-index: 2;
  font-style: italic;
}

.NextText1 {
  position: relative;
  top: -300%;
  left: 0%;
  z-index: 2;
}

.Hangar:hover .NextText2 {
  position: relative;
  top: -300%;
  left: 2%;
  z-index: 2;
  width: 30%
}

.NextText2 {
  position: relative;
  top: 100%;
  left: 18%;
  z-index: 2;
}
<section class="EXP1Box">
  <div class="Hangar">
    <div class="NextEra">
      <div class="NextEra">
        <img alt="NextEra" src="https://s8.postimg.cc/h1jqn4zv9/Next_Era_Pop.png" class="NextEra">
      </div>

      <div class="NextText1">
        <h4 class="NextText1">Future Ambitions</h4>
      </div>
      <div class="NextText2">
        <h3 class="NextText2">Internship Position With:</h3>
      </div>
    </div>
  </div>

  <div class="Virtual">
  </div>

</section>

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

1 Ответ

0 голосов
/ 04 сентября 2018

Я думаю, что одним из вариантов для вас будет использование display:none или visibility:hidden, чтобы скрыть текст, когда вы не хотите его отображать, вместо того, чтобы возиться с z-индексами и переходами. Из вашего кода было не очень понятно, хотите ли вы, чтобы текст переполнял поле, когда оно было видимым. Я изменил размеры текста, но если вы хотите, чтобы они были меньше / больше, вы можете настроить их. Я добавил цвет (чтобы я мог видеть, с чего они начались) ... снова, настраиваемый.

Вот скрипка и фрагмент:

@charset "utf-8";
/* CSS Document */

.Experience_Target {
  display: inline-block;
}

.EXP1Box {
  height: 100vh;
  overflow: hidden;
}

#Hangar {
  top: 0;
  height: 50%;
}

#Virtual {
  top: 0;
  height: 50%;
}

.Hangar {
  background: url(https://s8.postimg.cc/d56er2eut/Hangar_Phot.png);
  height: 50%;
  width: 100%;
  background-position: 75%;
  background-repeat: no-repeat;
  transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  /*background-attachment: fixed;
Really wish I could make this work.
Fucks up because of zoom*/
}

.Hangar:hover {
  box-shadow: inset 0 0 0 150vw rgba(0, 0, 0, 0.7);
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  /* IE 9 */
  transform: scale(1.1);
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand')";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=1.5, M12=0, M21=0, M22=1.5, SizingMethod='auto expand');
}

.NextEra {
  position: relative;
  width: 0%;
  height: 0%;
  top: 3.5%;
  left: 40%;
  z-index: 1;
  transition: .5s ease;
  -moz-transition: .5s ease;
  -ms-transition: .5s ease;
  -webkit-transition: .5s ease;
  -o-transition: .5s ease;
}

.Hangar:hover .NextEra {
  position: relative;
  width: 70%;
  height: auto;
  top: 0.0%;
  left: 26.3%;
  z-index: 1;
}

h3 {
  font-family: "Myriad Pro";
  font-size: 63px;
  color: blue;
}

h4 {
  font-family: "Myriad Pro";
  font-size: 64px;
  color: green;
}

.NextText1 {
  color: forestgreen;
  margin-left: 30px;
  margin-top: 10px;
  position: relative;
  z-index: 2;
  font-style: italic;
  visibility: visible;
}

.Hangar:hover .NextText1 {
  /*margin-left: 18%;
  z-index: 2;*/
  visibility: hidden;
}

.Hangar:hover .NextText2 {
  position: fixed;
  visibility: visible;
  top: 10%;
  left: 2%;
  z-index: 2;
  width: 30%;
  margin-left: 18%;
  font-size: 30px;
  color: red;
}

.NextText2 {
  visibility: hidden;
}
<section class="EXP1Box">
  <div class="Hangar">
    <div class="NextEra">
      <div class="NextEra">
        <img alt="NextEra" src="https://s8.postimg.cc/h1jqn4zv9/Next_Era_Pop.png" class="NextEra">
      </div>
      <div class="NextText1">
        <h4 class="NextText1">Future Ambitions</h4>
      </div>
      <div class="NextText2">
        <h3 class="NextText2">Internship Position With:</h3>
      </div>
    </div>
  </div>

  <div class="Virtual">
  </div>

</section>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...