2016-06-20 24 views
5

Desidero creare due div con la forma di sfondo bianco illustrata di seguito. Come puoi vedere, è fondamentalmente un rettangolo e una forma di ellisse viene tagliata. Dovrebbe essere in grado di produrre un box-shadow.come creare forme concave/convesse css

C'è un modo per ottenere questo con solo CSS?

Concave shapes

+0

Avete provato nulla e se è così puoi pubblicare il codice provato a vedere se eri vicino e ti mancavano solo un paio di cose? – Stewartside

risposta

7

ho usato 2 div con box-shadow ho aggiunto border per comprendere

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

Fantastico! questo è esattamente quello che stavo cercando! Potresti aiutarmi a chiarire un po 'come in come il div "in" taglia il cerchio fuori forma? –

+0

Ho usato 'box-shadow' che dà l'effetto –