使用this技術的修改版本,我設法爲我正在處理的網站製作傾斜的響應式div。我遇到的問題是,有3個傾斜的divs
在彼此的頂部,並且它們意味着在頁面上創建一條對角線(所以每個傾斜的div需要與其周圍的對齊)。對這些div使用百分比寬度目前還沒有工作,但我不知道還有什麼可以嘗試的。響應對齊傾斜Divs
一個很好的解決方案是響應和[最好] css-only。
*{
margin: 0;
padding:0;
}
.hero{
width: 100%;
position: relative;
border: 1px solid black;
background-color: green;
}
.slanted{
position: relative;
background-color: purple;
width: 40%;
padding: 3em 0 3em 1em;
}
.slanted:after{
content: '';
background-color: purple;
position: absolute;
top: 0;
bottom: 0;
right: -6em;
width: 20em;
overflow: visible;
z-index: 1;
-webkit-transform: skewX(-13deg);
-moz-transform: skewX(-13deg);
-ms-transform: skewX(-13deg);
-o-transform: skewX(-13deg);
transform: skewX(-13deg);
}
.slanted h2{
position: relative;
z-index:3;
}
.hero1 .slanted{
width: 30%;
}
.hero2 .slanted{
width: 20%;
}
.hero3 .slanted{
width: 10%;
}
<div class="hero hero1">
<div class="slanted">
<h2>Some text</h2>
</div>
</div> \t
<div class="hero hero2">
<div class="slanted hero-text">
<h2>Some text</h2>
</div>
</div> \t
<div class="hero hero3">
<div class="slanted hero-text">
<h2>Some text</h2>
</div>
</div> \t
+1有趣的問題。恐怕你不得不在JS中使用一些數學來計算每個窗口大小的偏移量(當然,最初)。 – Shomz 2014-11-05 17:10:27
@Shomz我很害怕這會是答案:(看起來真的很遺憾必須爲這麼小的東西添加js! – Meg 2014-11-05 17:15:23
我完全同意,但可能會有一些hackish的CSS解決方案(使用[calc](https:/ /developer.mozilla.org/en-US/docs/Web/CSS/calc)也許?),這就是爲什麼我把它寫成評論而不是答案。有人可能會提出一些巧妙的建議。 – Shomz 2014-11-05 17:20:18