2013-12-17 37 views
5

nasıl gibi sözde sınıfları kullanmadan, CSS3 aşağıdaki şekil yapabilir?CSS3 Ay Tutulması şekli

div{ 
    width: 100px; 
    height: 100px; 
    background-color: red; 
    border-radius: 100%; 
    position: relative; 
} 
div:before{ 
    content: ""; 
    width: 100%; 
    height: 110%; 
    background: gray; 
    position: absolute; 
    left: 5px; 
    top: -5%; 
    border-radius: 100%; 
} 
+0

[Bu web sitesi] (http://css-tricks.com/examples/ShapesOfCSS/) size yardımcı olabilir. Yine de şeklin için bir örnek yok. – AfromanJ

+0

Bu aynı zamanda yardımcı olabilir: [CSS ile Esnek Google tarzı yükleyici] (http://lea.verou.me/2013/11/flexible-google-style-loader-with-css/) – Kobi

cevap

5

- (http://jsfiddle.net/aUdLr/2/ JSFiddle bakınız) önce, ama şey gri alanı sağlam eleman istiyorum kalmamasıdır:

Eclipse shape

Ben çok kolay yaptığımız

div{ 
    width: 100px; 
    height: 100px; 
    border-radius: 100%; 
    border-width: 0; 
    border-left:solid 10px red; 
} 

Bilimsel olarak yanlış örnek: http://jsfiddle.net/aUdLr/4/

Sen sınır genişliği kullanabilirsiniz Sınır genişliğine eklenir çünkü dış şekli, değil mükemmel bir çember olduğunu

unutmayın. Sen genişliğini azaltan veya Box-sizing: Border-box kullanarak telafi edebilirsiniz. aklıma geliyor

+1

n1, atmak bir ' dönüşümü: scaleX (0.8) 've orada – Kos

+0

teşekkür ederiz konum, çözüm alakalıdır. Bununla birlikte, şeklin resimdeki ile aynı olmasını istiyorum. Başka bir şey denedim ama yine de ihtiyacım olan şey değil: http://jsfiddle.net/aUdLr/5/ –

1

En basit CSS3 çözeltisi:

div:before { 
    font: 80px serif; 
    color: red; 
    content: "("; 
} 

Here's a fiddle.

(şeklin üzerinde kontrol iyi bir miktar istiyorsanız Şimdi seriously-, ben SVG kullanmanızı öneririz.)

2

Daha büyük bir daire tarafından tutulan küçük bir dairenin etkisini elde etmek için saydam öğeye gölge ekleyebilirsiniz:

div{ 
    width: 100px; 
    height: 100px; 
    border-radius: 100%; 
    background-color:transparent; 
    box-shadow: -23px 0 0px -15px #ff8; 
} 

Örnek: http://jsfiddle.net/aUdLr/6/

+0

Birden çok gölgeyle ilgili örnekler: http://jsfiddle.net/aUdLr/7, http: // jsfiddle .net/aUdLr/8. Bu oldukça eğlencelidir. http://jsfiddle.net/aUdLr/9/: – Kobi

+0

Başka bir seçenek gölge 'inset' sahip. İhtiyacınız olanı, sayılarla biraz oynayarak alabildiğinizden eminim. – Kobi