【问题标题】:Skew div with pure CSS and allow image to fill skewed area使用纯 CSS 倾斜 div 并允许图像填充倾斜区域
【发布时间】:2018-07-26 20:40:02
【问题描述】:

我有一个小问题。我正在尝试从图像中制作结构。我有 CSS 和 HTML

.mask-skew {
    transform: skewX(-10deg);
    /*width: 300px;*/
    height: 390px;
    overflow: hidden;
    margin: 5px;
    /*border: 2px solid orange;*/
}
.art-skew {
    transform: skewX(10deg);
    position: relative;
    left: -50%;
}
<div class="row flex--row advertising-row">
        <div class="col-xs-12 col-sm-4 mask-skew">
            <img class="art-skew" src="templates/Stordeur/themes/stordeur/images/BarbourSS18Banner_1140x392px.jpg" alt="">
        </div>
        <div class="col-xs-12 col-sm-4 mask-skew">
            <img class="art-skew" src="templates/Stordeur/themes/stordeur/images/TeaserWellensteynKopie.jpg" alt="">
        </div>
        <div class="col-xs-12 col-sm-4 mask-skew">
            <img class="art-skew" src="templates/Stordeur/themes/stordeur/images/template_teaser_images_fjallraven.jpg" alt="">
        </div>

    </div>

但结果来自这个Image

如何从第一张图片中获取结果。左右图像有直边。

【问题讨论】:

标签: css skew


【解决方案1】:

您基本上可以倾斜链接,然后取消倾斜 img。 溢出:隐藏将需要用于覆盖整个屏幕/链接。

例子

body {margin:0;}
div {
  overflow:hidden;
}
nav {
  display:flex;
  height:100vh;
  margin:0 -10vw
}
nav a {
  flex:1;
  height:100%;
  transform:skew(-15deg);
  overflow:hidden;
}
nav a + a {
  margin-left:3vh;
}
nav a img {
  width:140%;
  height:100%;
  display:block;
  /* optionnal */
  /*object-fit: cover;
  object-position:center center;*/
  transform:skew(15deg);
  margin:0 -20%; /* in relation with width */
}
<div>
  <nav>
    <a href=""><img src="http://www.intrawallpaper.com/static/images/desktop-backgrounds-8656-8993-hd-wallpapers_js7gwWA.jpg"></a>
    <a href=""><img src="https://images.wallpaperscraft.com/image/pool_skyscraper_hotel_124522_1600x1200.jpg"></a>
    <a href=""><img src="https://wallpaperscraft.com/image/dark_background_colorful_paint_47176_300x188.jpg"></a>
  </nav>
</div>

object-fit 还可以帮助确保图像填满整个链接。它会被剪掉。

对于文本,可以在img旁边添加。并通过 flex 居中。笔玩:https://codepen.io/gc-nomade/pen/vaJzaM


如果你想使用背景图片和上面的链接,你可以从https://codepen.io/gc-nomade/pen/vGvRPZ/ 中获得灵感(把标题变成链接)


两个示例都倾斜容器,然后将相反的倾斜值应用到取消倾斜的内容。

直边是通过让内容溢出但隐藏在外边而形成的。

【讨论】:

  • 谢谢,这正是我需要的。问题仅在于图像。文本对我来说不是问题:)。
猜你喜欢
  • 1970-01-01
  • 2012-11-15
  • 1970-01-01
  • 1970-01-01
  • 2016-12-25
  • 2016-12-23
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
相关资源
最近更新 更多