首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并排倾斜的div

并排倾斜的div
EN

Stack Overflow用户
提问于 2019-06-29 00:54:11
回答 4查看 214关注 0票数 2

我想要两个div并排。一个具有一些文本和纯色背景,另一个具有图像作为背景。我对倾斜部分有问题。div是倾斜的,但它看起来很奇怪,你可以看到网站的背景。

看看这张来自gyazo的屏幕截图

如果你能帮我去掉图片文本和网站边框之间的空格,那就太好了!

我已经尝试了多种不同的方法,从背景线性梯度45度到所有其他种类的东西。

代码语言:javascript
复制
.apartments-showCase-content {
  width: 50%;
  background: grey;
  height: 30em;
  float: left;
  box-sizing: border-box;
  left: 50%;
  transform: skew(6deg);
}

.apartments-showCase-image {
  width: 50%;
  background: #222;
  height: 30em;
  float: right;
  background: url(https://i.picsum.photos/id/1003/800/800.jpg);
  background-size: cover;
  transform: skew(6deg);
}
代码语言:javascript
复制
<section class="apartments-section">
  <div class="apartments-showCase-content"></div>
  <div class="apartments-showCase-image"></div>
</section>

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-06-29 01:38:38

浮动的倾斜元素的宽度与原始宽度相同。我在节中添加了一个容器,在节上设置了overflow:hidden;,并使容器比节大并居中。这意味着由倾斜创建的整个“三角形”是隐藏的。你可能不得不玩弄数字,我只是随意地在两边增加了10%的宽度。

此外,您对内容的left:50%规则没有做任何事情,因为该元素没有相对或绝对定位。

代码语言:javascript
复制
.apartments-showCase-content {
  width: 50%;
  background: grey;
  height: 30em;
  float: left;
  box-sizing: border-box;
  transform: skew(6deg);
}

.apartments-showCase-image {
  width: 50%;
  background: #222;
  height: 30em;
  float: right;
  background: url(https://i.picsum.photos/id/1003/800/800.jpg);
  background-size: cover;
  transform: skew(6deg);
}

.apartments-section {
  overflow: hidden;
}

.apartments-section-container {
 width: 120%;
 position: relative;
 left: -10%;
}
代码语言:javascript
复制
<section class="apartments-section">
  <div class="apartments-section-container">
    <div class="apartments-showCase-content"></div>
    <div class="apartments-showCase-image"></div>
  </div>
</section>

票数 1
EN

Stack Overflow用户

发布于 2019-06-29 02:03:50

您可以将图像背景放在css标签中,并可以使用img中的transform: scale(1, 1.5);属性使其缩放以获得完美的大小。因此,将您的css更改为:

代码语言:javascript
复制
.apartments-section{
  background:gray;
  transform: scale(1, 1.5);
  width:100%;
  overflow:hidden;
}

.apartments-showCase-content {
  width: 50%;
  background: grey;
  height: 30em;
  float: left;
  box-sizing: border-box;
  left: 50%;
  transform:skew(9deg)
}

.apartments-showCase-image {
  width: 50%;
  background: #222;
  height: 30em;
  float: right;
  background: #ff7f7f; //you can place bg color as your image background color
  background-size: cover;
}

.apartments-showCase-image img{
  transform:skew(9deg);
  width:100%;
  height:100%
}

和html为:

代码语言:javascript
复制
<section class="apartments-section">
  <div class="apartments-showCase-content"></div>
  <div class="apartments-showCase-image">
    <img src="https://imgplaceholder.com/420x320/ff7f7f/333333/fa-image" alt="img"/>
  </div>
</section>

这不是显而易见的答案,但这将帮助您如何..谢谢..。

票数 0
EN

Stack Overflow用户

发布于 2019-06-29 02:04:48

你可以使用css3 "calc“,它可以让你用你设置的度数来计算宽度的百分比(如rad):margin side: calc(height * (10 *π/360));

代码语言:javascript
复制
.container{
  display:flex;
  border: 1px solid #000;
}
.container .one{
  position: relative;
  margin-left: calc(-350px * 0.0872665);
  flex: 1;
  height:350px;
  transform: skew(10deg);
  background: grey;
}
.container .two{
  position: relative;
  margin-right: calc(-350px * 0.0872665);
  flex: 1;
  height:350px;
  background-size: cover;
  transform: skew(10deg);
  background-color: #222;
  background-image: url(https://imgplaceholder.com/420x320/ff7f7f/333333/fa-image);
}
代码语言:javascript
复制
    <section class="container">
      <div class="one"></div>
      <div class="two"></div>
    </section>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56810686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档