J'ai beaucoup essayé la forme ovale qui a coupé des deux côtés mais pas capable de le faire s'il vous plaît
J'ai besoin de code pour la forme ovale avec une coupe dans les deux côtés ..
Voici mon code ci-dessous: -
.demo{
width: 100%;
height: 600px;
background: white;
-moz-border-radius: 100px / 50px;
-webkit-border-radius: 100px / 178px;
border-radius: 694px / 208px;
z-index: 100;
position: relative;
}
Est-ce correct ?
HTML
<div id="oval_parent">
<div id="oval"></div>
</div>
CSS
#oval_parent{
background:black;
width:200px;
height:120px;
overflow:hidden;
}
#oval{
width: 220px;
height: 100px;
margin:10px 0 0 -10px;
background: white;
-moz-border-radius: 100px / 50px;
-webkit-border-radius: 100px / 50px;
border-radius: 100px / 50px;
}
Essaye ça:
#oval-shape {
width: 200px;
height: 100px;
background: blue;
-moz-border-radius: 100px / 50px;
-webkit-border-radius: 100px / 50px;
border-radius: 100px / 50px;
}
Notez les rapports dans les valeurs de coin par rapport à la hauteur.
Démo - http://jsfiddle.net/XDLVx/
Changer les valeurs sur css:
#demo {
width: 100%;
height: 600px;
background: white;
-moz-border-radius: 50% / 250px;
-webkit-border-radius: 40% / 250px;
border-radius: 50% / 250px;
z-index: 100;
position: relative;
}
Voici deux variantes possibles:
Méthode n ° 01:
Utilisez radial-gradient()
:
background: radial-gradient(ellipse 65% 40%, transparent 0, transparent 90%, black 90%);
body {
background: linear-gradient(orange, red);
padding: 0 20px;
margin: 0;
}
.oval {
background: radial-gradient(ellipse 65% 40%, transparent 0, transparent 90%, black 90%);
height: 100vh;
}
<div class="oval">
</div>
Méthode n ° 02:
:before
ou :after
.border-radius
.box-shadow
grand avec overflow: hidden
sur le parent pour masquer la zone non souhaitée.body {
background: linear-gradient(orange, red);
padding: 0 20px;
margin: 0;
}
.oval {
position: relative;
overflow: hidden;
height: 100vh;
}
.oval:before {
box-shadow: 0 0 0 500px #000;
border-radius: 100%;
position: absolute;
content: '';
right: -10%;
left: -10%;
top: 10%;
bottom: 10%;
}
<div class="oval">
</div>
Placez-le dans un autre div assez haut pour montrer tout l'ovale, pas assez large, et définissez overflow: hidden. Si elle est positionnée au centre, les bords seront coupés, mais vous ne pourrez pas faire de défilement latéral.