如何获得倾斜的右边缘 div?

How do I achieve a slanted right-edge div?

几天来我一直在寻找使 div 的右边缘倾斜 45 度的代码。这是我特别想得到的图像示例...

似乎有很多 'slanted-edge' div 的例子,但我找不到任何带有特定右侧倾斜的例子。

我花了很多时间试图修改其他人的代码,但结果一团糟。

这是我用来试验以获得我需要的结果的原始 CSS 代码...

    div {
        position: relative;
        display: inline-block;
        padding: 1em 5em 1em 1em;
        overflow: hidden;
        color: #fff;
    }

    div:after {
        content: '';
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: #000;
        -webkit-transform-origin: 100% 0;
        -ms-transform-origin: 100% 0;
        transform-origin: 100% 0;
        -webkit-transform: skew(-45deg);
        -ms-transform: skew(-45deg);
        transform: skew(-45deg);
        z-index: -1;
    }

    body {
        background:
        url('https://farm3.staticflickr.com/2878/10944255073_973d2cd25c.jpg');
        background-size: cover;
    }

这里是 HTML.....

    <div>Slanted div text</div>
    <div>
        Slanted div text<br/>
        on several lines<br/>
        Another line
    </div>
    <div>Wider slanted div text with more text inside</div>

创建您的 div,然后叠加一个绝对定位的旋转伪元素以创建倾斜印象。

div {
  height: 50px;
  width: 300px;
  background-color: black;
  position: relative;
  overflow: hidden;
}

div:after {
  height: 100%;
  width: 100%;
  background-color: white;
  position: absolute;
  content: "";
  transform: rotate(45deg);
  transform-origin: bottom right;
}
<div></div>