回答編集履歴
2
CodePenサンプルの追加
answer
CHANGED
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
|
|
21
21
|
`padding-bottom: 10vw;` は中身のコンテンツがclip-pathによって隠れるのを防ぐ目的です。
|
|
22
22
|
|
|
23
|
+
[CodePenサンプル](https://codepen.io/hatena19/pen/MWzREYj)
|
|
24
|
+
|
|
23
25
|
別案
|
|
24
26
|
---
|
|
25
27
|
解決済みですが、デザインレイアウトのためにHTMLに不必要な要素を追加しているのが気になりましたので、質問の2つ目のサンプルのHTMLで実現する方法も提示しておきます。
|
|
@@ -51,3 +53,5 @@
|
|
|
51
53
|
背景のグラデーションはbefore疑似要素につけて背面に配置します。
|
|
52
54
|
translatey()で上にずらして親要素のグレーの背景が見えるようにして境界線とします。
|
|
53
55
|
次のブロックは、ネガティブマージンで重ねます。
|
|
56
|
+
|
|
57
|
+
[CodePenサンプル](https://codepen.io/hatena19/pen/zYMXgaq)
|
1
別案の追記
answer
CHANGED
|
@@ -18,4 +18,36 @@
|
|
|
18
18
|
境界線の太さは、`transform: translatey(-5px);` のpxの数値で、
|
|
19
19
|
調整してください。
|
|
20
20
|
|
|
21
|
-
`padding-bottom: 10vw;` は中身のコンテンツがclip-pathによって隠れるのを防ぐ目的です。
|
|
21
|
+
`padding-bottom: 10vw;` は中身のコンテンツがclip-pathによって隠れるのを防ぐ目的です。
|
|
22
|
+
|
|
23
|
+
別案
|
|
24
|
+
---
|
|
25
|
+
解決済みですが、デザインレイアウトのためにHTMLに不必要な要素を追加しているのが気になりましたので、質問の2つ目のサンプルのHTMLで実現する方法も提示しておきます。
|
|
26
|
+
|
|
27
|
+
```css
|
|
28
|
+
.block {
|
|
29
|
+
background-color: #c8c8c8;
|
|
30
|
+
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10vw), 50% 100%, 0 calc(100% - 10vw));
|
|
31
|
+
padding-bottom: 10vw;
|
|
32
|
+
position: relative;
|
|
33
|
+
}
|
|
34
|
+
.block::before {
|
|
35
|
+
content: "";
|
|
36
|
+
width: 100%;
|
|
37
|
+
height: 100%;
|
|
38
|
+
position: absolute;
|
|
39
|
+
background-image: linear-gradient(to bottom, #c8c8c8, #eeeeee);
|
|
40
|
+
clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10vw), 50% 100%, 0 calc(100% - 10vw));
|
|
41
|
+
z-index: -1;
|
|
42
|
+
transform: translatey(-5px);
|
|
43
|
+
}
|
|
44
|
+
.block-2 {
|
|
45
|
+
height: 300px;
|
|
46
|
+
background-color: yellow;
|
|
47
|
+
margin-top: -12vw;
|
|
48
|
+
padding-top: 12vw;
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
背景のグラデーションはbefore疑似要素につけて背面に配置します。
|
|
52
|
+
translatey()で上にずらして親要素のグレーの背景が見えるようにして境界線とします。
|
|
53
|
+
次のブロックは、ネガティブマージンで重ねます。
|