Наличие прозрачного прямоугольника / наложения поверх фонового изображения - PullRequest
0 голосов
/ 31 марта 2020

У меня есть это изображение (https://cdn.pixabay.com/photo/2015/08/25/03/51/toner-906142__480.jpg) как фоновое изображение и этот световой блок под ним. Я бы хотел, чтобы над моим фоновым изображением был световой прямоугольник, чтобы фоновое изображение можно было увидеть через рамку. Я попытался вставить (сверху) картинку вместо того, чтобы находиться за ее пределами, но пока ничего не получается.

Я хочу, чтобы этот заголовок и эти слова были внутри белого поля с фоновым изображением Видящий корыто (непрозрачность - Мейби 0,5).

        <h2 style="color: black" align="center">Food is essential part of our well-being</h2> 
        <p>Our expertise </p>

Вот начальная загрузка / HTML.

image

И CSS:

h1{

}

#h1{
    color:blue;
    padding-bottom:30px;
    font-family: CelebriSans;
}

h2{
    font-family: CelebriSans;
    margin-top:10px;
}

.navbar{
background-color:#c99ab1 !important;
height:11%;
}

.main{
    height:60%;
    width:100%;
    grid-row: 1/4;
}

p{
font-family: CelebriSans;
font-size:16px; 
font-style:bold;
}

div.container{
  /* The image used */
  /* background-image: url("https://cdn.pixabay.com/photo/2015/08/25/03/51/toner-906142__480.jpg");  */
  position: relative; 
  max-width:100%;

  /* Full height */
  height: 100%;
  margin: 0 auto; /* Center it */

  /* Center and scale the image nicely */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/*
.container .content{
  position: absolute;
  /* background: rgb(0, 0, 0); /* Fallback color */  
  /*background: rgba(255,255,255, 0.5); /* White background with 0.5 opacity 
  color: black;
  width: 75%;
  padding: 20px;

}
*/

#ourservicepicture{
    height:100%;
    width:100%;
    margin:0px;
    margin-left:0px;
    margin-right:0px;
}



div.transbox {

margin: 30px;

background-color: #ffffff;

border: 1px solid black;

opacity: 0.6;

filter: alpha(opacity=60); /* For IE8 and earlier */



}

div.transbox p {

margin: 5%;

font-weight: bold;

font-family: Verdana;

font-size: 12px;

color: #000000;

}

Ответы [ 2 ]

1 голос
/ 31 марта 2020

Вы можете использовать display: flex на .container для размещения элементов внутри .container сверху. Я добавил несколько комментариев, чтобы минимизировать ваш код. Проверьте это!

.container {
  background-image: url("https://cdn.pixabay.com/photo/2015/08/25/03/51/toner-906142__480.jpg");
  /* Add the background image like this */
  height: 500px;
  /* Give the background image the correct height */
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  /* Places content inside on top */
  justify-content: center;
  /* Center horizontally */
  align-items: center;
  /* Center vertically */
}

.transbox {
  padding: 30px;
  background-color: rgba(255, 255, 255, 0.5);
  /* Opacity can be given to background with rgba*/
  border: 1px solid black;
  height: 100px;
}
<div class="container" href="service">
  <div class="transbox">
    <h2>
      Food is essential part of our well-being
    </h2>
    <p>Our expertise </p>
  </div>
</div>
0 голосов
/ 31 марта 2020

Просто добавьте это CSS к вашим .transbox стилям

https://jsfiddle.net/rjaw5nvx/

position: absolute;
top: 50%;
transform: translateY(-50%);

Вы также можете использовать flexbox для центрирования прямоугольника по вертикали и по горизонтали, но это немного сложнее.

...