2017-02-19 13 views
3

enter image description hereCSSに曲がった三角形の円弧を作成

それはCSSで曲がったアーク三角形のようなものを作成することは可能ですか? (青い部分を見てください)。

このエフェクトは、白い1つの楕円形のdivと青の上に置かれた別のdivで作成することができるので、弧の錯覚を与えます。しかし、白い部分が白い楕円で覆われているのとは対照的に、私は弧があるところで透明性が必要なので、これはいいことではありません。

全体を作成するために、隣り合わせに設定できる全体または半分を作成したいと思います。

+0

どのように内側に影を保つために隠されたオーバーフローを持っている必要がありますか? SVGはCSSと同じ構文を使用しています – Martin

+0

ええ、私はSVGがうまくいかない理由はわかりません。しかし、CSSが理想的です。 – Lansana

答えて

3

親の幅と定義済みの高さを持つ擬似要素を追加できます。

この場合、ボーダー半径を50%に設定すると楕円形になり、上に行くと影が追加され、形状が得られます。

基本要素は、長方形のSVGグラフィックを使用する方法について

div { 
 
    background-image: linear-gradient(black, black); 
 
    background-size: 100% 30px; 
 
    background-repeat: no-repeat; 
 
    height: 30px; 
 
    position: relative; 
 
    overflow: hidden; 
 
    padding-bottom: 80px; 
 
} 
 

 
div::after { 
 
    content: ''; 
 
    height: 160px; 
 
    width: 100%; 
 
    position: absolute; 
 
    border-radius: 50%; 
 
    box-shadow: 0px -80px 0px 100px blue; 
 
    top: 30px; 
 
    z-index: -1; 
 
}
<div></div>

+0

これは弧の下の透明を可能にするため、私が探していた答えです。ありがとう。 – Lansana

+0

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

2

あなたは擬似要素にボーダートップ半径を適用することによって、これを達成することができます:私は2つのSVGsでこれを行うことをお勧めします

div { 
 
    background: blue; 
 
} 
 

 
div::after { 
 
    content: ''; 
 
    display: block; 
 
    background: white; 
 
    border-top-left-radius: 50%; 
 
    border-top-right-radius: 50%; 
 
    height: 75px; 
 
}
<div></div>

+0

偉大な、そのようなシンプルで巧妙な方法。ありがとう! – Lansana

+0

2番目の外観では、これは私の問題(楕円形の部分が白で、透明にする必要がある)と同じ効果を与えるため、実際には私の問題を解決しません。透明な色を追加することは、divの色を継承するので機能しません。divの疑似セレクタです。 – Lansana

+0

申し訳ありませんが、私はその要件を捕まえていませんでした。私はそれにいくつかの考えを与えますが、単一の要素を使用することは不可能かもしれません。 –

2

。そうすれば、あなたはストレッチを経験しません。その後、ページの両側に配置します。それから、彼らはそれに応じて伸びるべきです。

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" width="360px" height="288px" viewBox="0 0 360 288" style="enable-background:new 0 0 360 288;"> 
    <style type="text/css"> 
    .st0{fill:#03B3DB;} 
    </style> 
    <path class="st0" d="M91.7,109.1V78.6h190c0,0-38-0.4-104.9,7.4C117.7,92.9,91.7,109.1,91.7,109.1z"/> 
</svg> 
+0

素晴らしいSVGソリューション。ありがとう! – Lansana

関連する問題