设置倾斜的<section>的边距

时间:2019-03-13 15:24:08

标签: html css css-transforms skew

我只是歪斜了用作横幅的部分。

现在,由于偏斜,本节的高度显然比预期的高。

如何根据此新高度定义底部边距?

.banner{
    transform: skewY(-5deg);
    transform-origin: top right;
    outline: solid 1px black;
    margin-bottom: 5rem;
}
<section class="banner">
  <h1>Hello World!</h1>
  <h2>Subtitle</h2>
</section>
<div class="content">
  <p>CONTENT</p>
</div>

如果您全屏打开代码段并更改窗口大小,您就会明白我的意思……内容只是隐藏在横幅后面。

谢谢!

2 个答案:

答案 0 :(得分:1)

您还可以通过相同的转换来倾斜.content,然后倾斜其中的内容:

.banner {
  transform: skewY(-5deg);
  transform-origin: right;
  outline: solid 1px black;
}

.content {
  transform: skewY(-5deg);
  transform-origin: right;
}

.content p {
  transform: skewY(5deg);
  transform-origin: left;
}
<section class="banner">
  <h1>Hello World!</h1>
  <h2>Subtitle</h2>
</section>
<div class="content">
  <p>CONTENT</p>
</div>

答案 1 :(得分:1)

实际上,尺寸根据宽度而变化,因此可以根据宽度更新边距,为此您可以使用unit vw

.banner{
    transform: skewY(-5deg);
    transform-origin: top right;
    outline: solid 1px black;
    margin-bottom: 9vw;
}
<section class="banner">
  <h1>Hello World!</h1>
  <h2>Subtitle</h2>
</section>
<div class="content">
  <p>CONTENT</p>
</div>