2017-03-16 17 views
1

としてのCSSの三角形を配置したいです。しかし、背景イメージを使っても、私はそれをどのように構築するのか分からないでしょう。私はウェブを検索しましたが、必要なヘルプが見つかりませんでした。は、私は次のようなレイアウトを構築したい背景

レイアウトには、テキストを含むdivが含まれています。背景色は明るい灰色です。次に、私は絵に示されているように、より暗い三角の背景を追加するのが大好きです。これは反応的なレイアウトとしても機能するはずです。

# html 
<div class="wrapper"> 
    <h1>Das ist ein test</h1> 
    <h2>subheadline</h2> 
</div> 

#css 
.wrapper { 
    padding-top: 100px; 
    text-align: center; 
    width: 100%; 
    background-color: #4d4d4d; 
    height: 400px; 
    color: #fff; 
    position: relative; 
} 
.wrapper:before{ 
    height: 50%; 
    width:100%; 
    position:relative; 
    -webkit-transform: rotate(45deg); 
    -moz-transform: rotate(45deg); 
    transform: rotate(45deg); 
    content:''; 
    display:block; 
    position:absolute; 
    top: 0; 
    background-color: #3d3d3d; 
} 

しかし、これは動作しませんし、私は自分でそれを把握することはできません。私が試した何

ありがとうございました!

答えて

1

あなたが暗いの上に2つの光勾配を設定することができますバックグラウンド。

彼らが互いに重複して

div { 
 
    width: 400px; 
 
    height: 200px; 
 
    border: solid 1px green; 
 
    background: linear-gradient(to top left, lightgreen 50%, transparent 50%), 
 
    linear-gradient(to top right, lightgreen 50%, transparent 50%), green; 
 
}
<div></div>

+0

ありがとうございます! **この**は私が必要とするものです! – DannielR

+0

あなたを助けてくれてうれしい – vals

1

これを試してください。ただし、レスポンシブ部ではまだまだ作業が必要です。

.box{ 
 
    position: relative; 
 
    width: 100%; 
 
    max-width: 600px; 
 
    background: #ccc; 
 
    min-height: 300px; 
 
} 
 
.box:before { 
 
    width: 0; 
 
    height: 0; 
 
    content: ""; 
 
    position: absolute; 
 
    z-index: 0; 
 
    top: 0; 
 
    left: 0; 
 
    border-left: 300px solid transparent; 
 
    border-right: 300px solid transparent; 
 
    border-top: 180px solid #555; 
 
} 
 

 
.box .content{ 
 
    z-index: 10; 
 
    position: relative; 
 
    color: #fff; 
 
    text-align: center; 
 
    padding-top: 40px; 
 
} 
 

 
h1, h2{ 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
h2{ 
 
    margin-bottom: 80px; 
 
} 
 

 
.btn{ 
 
    background: #f00; 
 
    color: #fff; 
 
    display: inline-block; 
 
    padding: 5px 10px; 
 
    text-align: center; 
 
    text-decoration: none; 
 
    min-width: 200px; 
 
    font-size: 20px; 
 
}
<div class="box"> 
 
    <div class="content"> 
 
    <h1>Headline</h1> 
 
    <h2>Headline</h2> 
 
    
 
    <a href="#" class="btn">CTA</a> 
 
    </div><!--// end .content --> 
 
</div><!--// end .box -->

+0

唯一残っている三角形の暗いを残すありがとうございました。良い出発点。あなたが言ったように。これは即応性が必要です。私はこれを理解するための基礎としてこれを使用します。 – DannielR

0

これは、あなたが閉じ、およびCSSにのみアプローチを示して取得する必要があります:

* { 
 
    margin: 0; 
 
    padding: 0 
 
} 
 

 
body { 
 
    background: #ccc; 
 
    min-height: 500px; 
 
} 
 

 
div { 
 
    width: 0; 
 
    height: 0; 
 
    margin: 0px auto; 
 
    border: 200px solid transparent; 
 
    border-top-color: grey; 
 
} 
 

 
a { 
 
    display: block; 
 
    background: blue; 
 
    color: white; 
 
    padding: 5px 10px; 
 
    width: 200px; 
 
    margin: 0px auto; 
 
    position: relative; 
 
    top: -200px; 
 
    text-align: center; 
 
    text-decoration: none; 
 
}
<div></div> 
 
<a href="#">link</a>

+0

ありがとうございますが、これは私のレイアウトの解決策ではありません。私はボックスの端と三角形を揃えたい。そしてそれは本当に反応しません。 – DannielR

+0

私はそれがまさに正しいとは思わなかったが、いくつかのメディアの質問と少しの努力でそれがあなたに届くだろう:) – mayersdesign

関連する問題