【问题标题】:Skew on div, unskew pseudo element background倾斜 div,取消倾斜伪元素背景
【发布时间】:2018-07-31 20:12:26
【问题描述】:

当我倾斜一个 div 以使边框成一定角度并取消倾斜伪元素以使背景不倾斜时,边框不再倾斜,因为背景是绝对位置,并且当我执行时溢出-y:隐藏div 两边都成一个角度,但我希望右侧只成一个角度......我使用一个容器,所以我不能使用绝对位置和左 0,因为它会卡在容器中...... 你能帮帮我吗?

#home-choose-homepage-desktop .btn-primary {
  display: inline-block;
}

#home-choose-homepage-desktop .grid-container,
#home-choose-homepage-desktop .grid-x {
  height: 100%;
}

#home-choose-homepage-desktop {
  height: 30rem;
  position: relative;
  overflow: hidden;
}

#home-choose-homepage-desktop p {
  color: #FFF;
}

#home-choose-homepage-desktop .cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: skew(-20deg);
}

#home-choose-homepage-desktop div.cell:before {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 205%;
  z-index: -1;
  transform: scale(1.01) skew(20deg);
}

#home-choose-homepage-desktop .choose-detacheringen:before {
  left: 0;
  background: linear-gradient( rgba(32, 43, 62, .7), rgba(32, 43, 62, .7)), url('img/bg-detacheringen.jpg') no-repeat left center / cover;
  left: -100%;
  transition: .5s ease-out;
}

#home-choose-homepage-desktop .choose-detacheringen:hover:before {
  left: -75%;
}

#home-choose-homepage-desktop .choose-opleidingen:before {
  right: 0;
  background: linear-gradient( rgba(32, 43, 62, .7), rgba(32, 43, 62, .7)), url('img/bg-opleidingen.jpg') no-repeat right center / cover;
  right: -100%;
  transition: .5s ease-out;
}

#home-choose-homepage-desktop .choose-detacheringen:hover {
  z-index: 1;
}

#home-choose-homepage-desktop .choose-opleidingen:hover {
  z-index: 1;
}

#home-choose-homepage-desktop .choose-opleidingen:hover:before {
  right: -75%;
}

#home-choose-homepage-desktop .blurred::before {
  filter: blur(4px);
  width: 175%!important;
}

#home-choose-homepage-desktop .blurred .home-choose-inner {
  filter: blur(4px);
}

#home-choose-homepage-desktop .choose-deatcheringen:hover+div:before {
  width: 173.8% !important;
  transition: .5s ease-out;
}

#home-choose-homepage-desktop .choose-opleidingen {
  text-align: right;
  padding-left: 10%;
}

#home-choose-homepage-desktop .choose-detacheringen {
  padding-right: 10%;
}

#home-choose-homepage-desktop h1 {
  margin-bottom: .2rem;
  color: white;
}

.home-choose-inner {
  margin-top: 10%;
  transform: skew(20deg)
}
<section id="home-choose-homepage-desktop" class="hide-for-small-only">
  <div class="grid-container grid-container-padded">
    <div class="grid-x grid-margin-x">
      <div class="cell medium-6 choose-detacheringen">
        <div class="home-choose-inner">
          <h1>Detacheringen</h1>
          <p>Gedreven door passie, energiek en met brede ervaring in de detacheringswereld, dat zijn wij! Voor mensen die energie krijgen en plezier hebben in hun werk!</p>
          <a href="detacheringen-home.html" class="btn btn-primary">Meer weten</a>
        </div>
      </div>
      <div class="cell medium-6 choose-opleidingen">
        <div class="home-choose-inner">
          <h1>Opleidingen</h1>
          <p>SOSV geeft praktisch toepasbare opleidingen, face-to-face, in heel Nederland. Mét ervaren docenten die begrijpen wat er écht speelt. We zijn gedreven, vindingrijk én ervaren.</p>
          <a href="#" class="btn btn-primary">Meer weten</a>
        </div>
      </div>
    </div>
  </div>
</section>

This is how it supposed to look like

The website I am working on

【问题讨论】:

  • 为什么不保持简单:jsfiddle.net/n64sry9r/2
  • 我已经尝试过这样的事情,但是背景图片需要在容器之外。

标签: html css


【解决方案1】:

倾斜哪个图像在前面。

  -webkit-transform: skew(-20deg);
       -moz-transform: skew(-20deg);
         -o-transform: skew(-20deg);

CSS3 Transform Skew One Side http://jsfiddle.net/diegoh/mXLgF/1154/

【讨论】:

  • 这行不通,因为我想要容器外的背景图片,但感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-13
  • 1970-01-01
  • 2016-02-25
  • 2016-12-25
  • 2016-12-23
  • 1970-01-01
相关资源
最近更新 更多