this demo gibi bir efekti elde etmem gerekiyor.Sınır Şeklinin Sınırı CSS ile
Ancak, kullandığım kod çok özel ve çok temiz değil. Görebildiğiniz gibi, çok fazla element kullanmıştım ve bazı spesifik açı hesaplamaları ile dönüşümler yaptım.
Bu şekli oluşturmam, daha duyarlı bir şekilde tutmam için bir yol var mı? Lütfen sadece yarım daire istemediğimi, ancak uyarlayabileceğim çok özel bir açı olduğunu unutmayın. Yani daire dikdörtgenin içinde az ya da çok olabilir, bu yüzden yay açısı az ya da çok büyük olacaktır.
CSS:
.rectangle {
background-color: white;
width:200px;
height:200px;
border:solid 1px navy;
}
.circle {
position: relative;
width: 70px; height: 70px;
border-radius: 50%;
background: white;
margin-top:calc(50% - 35px);
margin-left:calc(100% - 50px);
}
.arc {
overflow: hidden;
position: absolute;
top: -1px; right: 50%; bottom: 50%; left: -1px;
transform-origin: 100% 100%;
transform: rotate(115deg);
}
.arc:before {
box-sizing: border-box;
display: block;
border: solid 1px navy;
width: 200%; height: 200%;
border-radius: 50%;
content: '';
}
.arc2 {
overflow: hidden;
position: absolute;
top: -1px; right: 50%; bottom: 50%; left: -1px;
transform-origin: 100% 100%;
transform: rotate(155deg);
}
.arc2:before {
box-sizing: border-box;
display: block;
border: solid 1px navy;
width: 200%; height: 200%;
border-radius: 50%;
content: '';
}
HTML:
<div class='rectangle'>
<div class='circle'>
<div class='arc'></div>
<div class='arc2'></div>
</div>
</div>
Puan Not:
ben z-index kullanamaz- öyleydi benim ilk çözüm ama neden diğer problemler.
- Dikdörtgenin yüksekliği değişebilir ve bu nedenle yanıt vermek için buna ihtiyacım vardı, ancak kabın yüksekliği
- daha büyük olsa bile, dairenin yüksekliği aynı kalmalıdır. seçeneği.
_ demek _ "Ben adapte olabilecek bir çok özel açı"? –
Lütfen, özlü olun, insanlar büyük olasılıkla bazı cevaplar yazacak mı? Düşüncelerinizi hemen açıklayın. –
İlgili: http: // stackoverflow.com/questions/21687326/can-i-make-an-düzensiz-div-şekil-kullanarak-sadece-css – TylerH