首页  >  文章  >  web前端  >  如何在 CSS 中创建不使用边框的倾斜 Div?

如何在 CSS 中创建不使用边框的倾斜 Div?

Susan Sarandon
Susan Sarandon原创
2024-11-11 08:08:03203浏览

How to Create a Slanted Div Without Using Borders in CSS?

不使用边框创建倾斜的 div

问题:

当以下情况时,使用边框创建倾斜的 div 不可行div 放置在图像上。如何使用响应式 CSS 创建倾斜边缘?

解决方案:

倾斜的伪元素可用于创建倾斜的背景。这种方法使文本不受变换操作的影响。实现方法如下:

  1. 定位伪元素:
    在 div 中添加一个 :after 伪元素,绝对定位。
  2. 定义倾斜:
    使用-webkit-transform: skew(-45deg);属性(或其供应商前缀)将伪元素倾斜 45 度。
  3. 设置变换原点:
    指定变换原点:100% 0;允许伪元素从右下角倾斜。
  4. 隐藏溢出:
    添加溢出:隐藏;到伪元素以隐藏溢出的部分。
  5. 堆叠在内容后面:
    在伪元素上使用负 z 索引将其堆叠在 div 内容后面。

示例代码:

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 />
  an other line
</div>
<div>wider slanted div text with more text inside</div>

以上是如何在 CSS 中创建不使用边框的倾斜 Div?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn