Проблемы с наложением текста на изображении - PullRequest
1 голос
/ 04 апреля 2020

Я изучил HTML & CSS за последние пару дней и сделал несколько страниц для начинающих. Я попытался наложить на основание c наложение на большую картинку. Наложение при наведении курсора имеет немного базового текста c и низкую непрозрачность серого цвета поверх изображения. Моя проблема в том, что я думаю, что текст появляется за оверлеем. Таким образом, текст, кажется, немного меняет цвет и переход от черного к белому не ясен и т. Д. c. Я надеюсь, что это немного конкретнее c и соответствует рекомендациям.

body{
  background-color:#333;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  line-height: 1.6em;
  margin:0;
}
.container{
  width:80%;
  margin:auto;
  overflow:hidden;
}
.pic{
  background-image: url(../images/desk.jpg);
  background-position: center ;
  min-height: 300px;
  margin-bottom:30px;
  text-align: center ;
}
.pic:hover{
  opacity:0.3;
  filter: alpha(opacity=30);
  transition: .5s ease;
}

.text{
  padding-top:110px;
  color:#fff;
  opacity:0;
  position: relative;
  text-align: center;
}
.pic:hover .text{
     opacity:0.6;
     text-align: center;
     font-size:20px;
     font-weight:700;
     font-family:Arial, Times, serif;
     padding-top:110px;
     transition: .5s ease;

     color:#fff;
}
#main-header{
  background-color:#000;
  color:#fff;
  padding:10;

}
#nav-bar{
  background-color:#000;
  color:#fff;

}

#nav-bar ul{
  padding:10;
  list-style: none;

}

#nav-bar li{
  display: inline;

}

#nav-bar a{
  color:#fff;
  text-decoration: none;
  font-size:18px;
  padding-right:15px;

}

#nav-bar a: hover{
  color: #coral;
}
#showcase{
  background-image: url(../images/showcase.jpg);
  background-position: center right;
  min-height: 300px;
  margin-bottom:30px;
  text-align: center ;
}
#showcase h1{
  color: #fff;
  font-size: 50px;
  line-height: 1.6em;
  padding-top: 30px;
}
  <header id="main-header">
    <div class="container">
      <h1>SHAYMAC</h1>
    </div>
  </header>
  <nav id="nav-bar">
    <div class="container">
      <ul>
        <li><a href="https://www.google.com/">home</a> </li>
        <li><a href="#">about</a> </li>
        <li><a href="#">service</a> </li>
      </ul>
    </div>
  </nav>

  <div class="pic">
      <div class="text"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</p></div>
  </div>

1 Ответ

0 голосов
/ 04 апреля 2020

То, что вы написали, правильно, когда вы наводите курсор на написанное вами изображение, которое вы хотите иметь непрозрачность, и оно также встраивает в него текст, потому что text находится внутри pic класса.

Вы можете обернуть еще один div сверху изображения, чтобы отобразить только img.

Есть несколько вариантов, чтобы справиться с этим, но я покажу вам один из таких способов, изменив цвет фона, а не текста :

.pic:hover{
  background: rgba(0, 0, 0, 0.4);
  filter: alpha(opacity=30);
  transition: .5s ease;
}

Это просто пример, чтобы понять, что я имею в виду.

body {
  background-color: #333;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6em;
  margin: 0;
}

.container {
  width: 80%;
  margin: auto;
  overflow: hidden;
}

#forImg {
  background-image: url(http://placekitten.com/301/301);
}

.pic {
  background-position: center;
  min-height: 300px;
  margin-bottom: 30px;
  text-align: center;
}

.pic:hover {
  background: rgba(0, 0, 0, 0);
  filter: alpha(opacity=30);
  transition: .5s ease;
}

.text {
  padding-top: 110px;
  color: #fff;
  opacity: 0;
  position: relative;
  text-align: center;
}

.pic:hover .text {
  opacity: 0.6;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  font-family: Arial, Times, serif;
  padding-top: 110px;
  transition: .5s ease;
  color: #fff;
}

#main-header {
  background-color: #000;
  color: #fff;
  padding: 10;
}

#nav-bar {
  background-color: #000;
  color: #fff;
}

#nav-bar ul {
  padding: 10;
  list-style: none;
}

#nav-bar li {
  display: inline;
}

#nav-bar a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  padding-right: 15px;
}

#nav-bar a: hover {
  color: #coral;
}

#showcase {
  background-image: url(../images/showcase.jpg);
  background-position: center right;
  min-height: 300px;
  margin-bottom: 30px;
  text-align: center;
}

#showcase h1 {
  color: #fff;
  font-size: 50px;
  line-height: 1.6em;
  padding-top: 30px;
}
<body>
  <header id="main-header">
    <div class="container">
      <h1>SHAYMAC</h1>
    </div>
  </header>
  <nav id="nav-bar">
    <div class="container">
      <ul>
        <li><a href="https://www.google.com/">home</a> </li>
        <li><a href="#">about</a> </li>
        <li><a href="#">service</a> </li>
      </ul>
    </div>
  </nav>
  <div id="forImg">
    <div class="pic">
      <div class="text">
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</p>
      </div>
    </div>
  </div>
  <footer>

  </footer>

</body>
...