2016-06-20 12 views
5

Chcę utworzyć dwa elementy div z białym tłem przedstawionym poniżej. Jak widać, w zasadzie wycina się prostokąt i kształt elipsy. Powinien być w stanie wytworzyć cień skrzynkowy.jak utworzyć wklęsłe/wypukłe kształty css

Czy można to osiągnąć tylko za pomocą css?

Concave shapes

+0

Czy próbowałeś niczego, a jeśli tak można zamieścić swoje próbował kod, aby sprawdzić, czy byłeś blisko i po prostu brakowało ci kilku rzeczy? – Stewartside

Odpowiedz

7

Użyłem 2 div z box-shadow dodałem border dla zrozumienia

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! to jest dokładnie to, czego szukałem! Czy możesz mi pomóc wyjaśnić nieco, w jaki sposób "in" div odcina kształt koła? –

+0

Użyłem "box-shadow", który daje efekt –

Powiązane problemy