2016-06-20 34 views
5

Aşağıda gösterilen arka plan beyaz şekli ile iki div oluşturmak istiyorum. Gördüğünüz gibi temelde bir dikdörtgen ve bir elips şekli kesiliyor. Bir kutu gölge üretebilmelidir.css içbükey/dışbükey şekiller nasıl oluşturulur

Bunu yalnızca css ile gerçekleştirmenin bir yolu var mı?

Concave shapes

+0

Hiçbir şey denedin ve böylece çalıştı kodu sonrası eğer görmek için anlamak için ben border ekledik box-shadow ile 2 div 's kullandık Yakındın ve birkaç şeyi kaçırıyordun? – Stewartside

cevap

7

Ben

body { 
 
    background:url(https://placeimg.com/640/480/any); 
 
} 
 

 
.out { 
 
    width: 455px; 
 
    height: 275px; 
 
    border: 1px solid red; 
 
    position: relative; 
 
    overflow: hidden; 
 
    margin: 20px; 
 
} 
 

 
.in { 
 
    width: 550px; 
 
    height: 550px; 
 
    border: 1px solid green; 
 
    position: absolute; 
 
    left: 200px; 
 
    border-radius: 50%; 
 
    box-shadow: 0 0 0 500px white; /* this is the white background */ 
 
} 
 

 
.bottom .in { 
 
    bottom: 0; 
 
    left: 200px; 
 
}
<div class="out"> 
 
    <div class="in"> 
 

 
    </div> 
 
</div> 
 

 
<div class="out bottom"> 
 
    <div class="in"> 
 

 
    </div> 
 
</div>

+0

Awesome! Bu tam olarak aradığım şey! "In" div'in daire şeklini nasıl kestiği ile ilgili bir açıklama yapmama yardımcı olabilir misiniz? –

+0

Ben efekt veren 'box-shadow 'kullandım –