将背景图像放入带有伪元素的形状中

Putting a background image inside a shape with pseudo-elements

我有一个倾斜的 div,我想知道如何在 div 中获得一张可以完全填满它的图像。例如,它是一个矩形,但在每一端都添加了一个三角形以创建形状的 "slanted" 部分。我想为每个单独的图片div(所以要填满整个紫色space),这样才能有不同。提前感谢您的帮助。

/*1st set*/
.rrcontainer {
    padding-bottom: 265px;
}
.rr h2{
    font-family: montserrat;
    color: white;
    font-size: 3vw;
    text-align: center;
     position: relative;
     text-align: center;
}
.rr > div {
  text-align: center;
}

.rr {
  position: relative;
  height: 250px;
  background: purple;
}
.rr.rr-left {
  z-index: 1;
  float: left;
  width: 55%;
}
.rr.rr-right {
  z-index: 2;
  float: right;
  width: 44%;
}

.rr:after,
.rr:before {
  content: "";
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
}

.rr-left:after {
  right: 0;
  border-left: 100px solid purple;
  border-bottom: 250px solid white;
}

.rr-right:before {
  left: -100px;
  border-right: 100px solid purple;
  border-top: 250px solid transparent;
}

.rr-left > div {
  margin-right: 100px;
  margin-left: 50px;
}

.rr-right > div {
  margin-right: 50px;
  margin-left: 25px;
}

.rr:hover {
  background: pink;
}

.rr-left:hover:after {
  border-left-color: pink;
}

.rr-right:hover:before {
  border-right-color: pink;
}

/*2nd set*/
.llcontainer {
    padding-bottom: 265px;
}

.ll h2{
    font-family: montserrat;
    color: white;
    font-size: 3vw;
    text-align: center;
     position: relative;

  text-align: center;
}
}
.ll > div {
  text-align: center;
}

.ll {
  position: relative;
  height: 250px;
  background: purple;
}
.ll.ll-left {
  z-index: 1;
  float: left;
  width: 55%;
}
.ll.ll-right {
  z-index: 2;
  float: right;
  width: 44%;
}

.ll:after,
.ll:before {
  content: "";
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
}

.ll-left:after {
  right: 0;
  border-left: 100px solid purple;
  border-bottom: 250px solid white;
}

.ll-right:before {
  left: -100px;
  border-right: 100px solid purple;
  border-top: 250px solid transparent;
}

.ll-left > div {
  margin-right: 100px;
  margin-left: 50px;
}

.ll-right > div {
  margin-right: 50px;
  margin-left: 25px;
}

.ll:hover {
  background: pink;
}

.ll-left:hover:after {
  border-left-color: pink;
}

.ll-right:hover:before {
  border-right-color: pink;
}
<div class="rrcontainer">
 <div class="rr rr-left">
 <div>
  <h2>TITLE HERE</h2>
 </div>
</div>
<div class="rr rr-right">
 <div>
        <h2>TITLE HERE</h2>
 </div>
</div>
</div>
<!--     ----------------------------   -->
<div class="llcontainer">
<div class="ll ll-left">
 <div>
  <h2>TITLE HERE</h2>
 </div>
</div>
<div class="ll ll-right">
 <div>
        <h2>TITLE HERE</h2>
 </div>
</div>
</div>

我只留下了一个。请注意,我向 "main" div 元素 (<div class="rr rr-left">) 添加了背景图像,并且对于三角形部分,我使用 transparent 而不是紫色。希望这就是您所需要的。

/*1st set*/
.rrcontainer {
    padding-bottom: 265px;
}
.rr h2{
    font-family: montserrat;
    color: white;
    font-size: 3vw;
    text-align: center;
     position: relative;
     text-align: center;
}
.rr > div {
  text-align: center;
}

.rr {
  position: relative;
  height: 250px;
  background: purple;
}
.rr.rr-left {
  z-index: 1;
  float: left;
  width: 55%;
  background-image: url(http://lorempixel.com/400/200/);
}
.rr.rr-right {
  z-index: 2;
  float: right;
  width: 44%;
}

.rr:after,
.rr:before {
  content: "";
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
}

.rr-left:after {
  right: 0;
  border-left: 100px solid transparent;
  border-bottom: 250px solid white;
}

.rr-right:before {
  left: -100px;
  border-right: 100px solid purple;
  border-top: 250px solid transparent;
}

.rr-left > div {
  margin-right: 100px;
  margin-left: 50px;
}

.rr-right > div {
  margin-right: 50px;
  margin-left: 25px;
}

.rr:hover {
  background: pink;
}

.rr-left:hover:after {
  border-left-color: pink;
}

.rr-right:hover:before {
  border-right-color: pink;
}

/*2nd set*/
.llcontainer {
    padding-bottom: 265px;
}

.ll h2{
    font-family: montserrat;
    color: white;
    font-size: 3vw;
    text-align: center;
     position: relative;

  text-align: center;
}
}
.ll > div {
  text-align: center;
}

.ll {
  position: relative;
  height: 250px;
  background: purple;
}
.ll.ll-left {
  z-index: 1;
  float: left;
  width: 55%;
}
.ll.ll-right {
  z-index: 2;
  float: right;
  width: 44%;
}

.ll:after,
.ll:before {
  content: "";
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
}

.ll-left:after {
  right: 0;
  border-left: 100px solid purple;
  border-bottom: 250px solid white;
}

.ll-right:before {
  left: -100px;
  border-right: 100px solid purple;
  border-top: 250px solid transparent;
}

.ll-left > div {
  margin-right: 100px;
  margin-left: 50px;
}

.ll-right > div {
  margin-right: 50px;
  margin-left: 25px;
}

.ll:hover {
  background: pink;
}

.ll-left:hover:after {
  border-left-color: pink;
}

.ll-right:hover:before {
  border-right-color: pink;
}
<div class="rrcontainer">
 <div class="rr rr-left">
 <div>
  <h2>TITLE HERE</h2>
 </div>
</div>
<div class="rr rr-right">
 <div>
        <h2>TITLE HERE</h2>
 </div>
</div>
</div>
<!--     ----------------------------   -->
<div class="llcontainer">
<div class="ll ll-left">
 <div>
  <h2>TITLE HERE</h2>
 </div>
</div>
<div class="ll ll-right">
 <div>
        <h2>TITLE HERE</h2>
 </div>
</div>
</div>