CSS ve HTML ile keskin bir düz köşe oluşturmak için herhangi bir yol var mı? BöyleDüz köşe veya eğimli köşeler
şey:
____
/ \
| |
\____/
CSS ve HTML ile keskin bir düz köşe oluşturmak için herhangi bir yol var mı? BöyleDüz köşe veya eğimli köşeler
şey:
____
/ \
| |
\____/
benim çözümdür Chris Coyier CSS şekilleri kullanarak.
http://jsfiddle.net/dDejan/XSs9L/
4 ekstra div'ler bu şekilde şekillendirilmiş istediğiniz senin kapların her biri için JavaScript (iyi, aslında jQuery) üzerinden yerleştirilir. Bu div'ler, yani ana köşelerinde kesinlikle konumlandırılmış ve Sven Bieder
Sen CSS triangles tekniği kullanarak kesinlikle bir konuma :before
ve :after
unsurları kullanarak bu oluşturabilirsiniz.
<div class="box"></div>
css: Burada
.box {
background-color:#2020ff;
height:50px;
width:50px;
position:relative
}
.box:after {
content:" ";
width: 0;
height: 0;
border-top: 10px solid #ffffff;
border-bottom: 10px solid transparent;
border-right:10px solid #ffffff;
position:absolute;
top:-9px;
right:0px;
}
Bu iyi bir başlangıç gibi geliyor tarafından gönderildi bağlantısında açıklanan şekilde buna göre tarz, örnek kod paylaşmak ister ? – zehelvion
Bu iyi görünüyor ama kodu açıklayabilir misiniz? Nasıl çalıştığını tam olarak anlamadım? – zehelvion
Sınırın köşe parçasından üçgen yapmak eski bir numara. Bu durumda, mavi kutunun bir kısmını örten beyaz bir üçgen. Ayarları aşağıdaki gibi düzenleyebilirsiniz: nasıl çalıştığını görmek için. Sol üst köşeyi örtmeden önce: ile bir tane daha kullanın. İşte nasıl çalışır: http://stackoverflow.com/questions/7073484/how-does-this-css-triangle-shape-work –
bak. Orada size gereken tüm bulmak: durumunda
http://css-tricks.com/examples/ShapesOfCSS/
Düzenleme bağlantı kaybetti gider:
CSS İşte
#octagon {
width: 100px;
height: 100px;
background: red;
position: relative;
}
#octagon:before {
content: "";
position: absolute;
top: 0; left: 0;
border-bottom: 29px solid red;
border-left: 29px solid #eee;
border-right: 29px solid #eee;
width: 42px; height: 0;
}
#octagon:after {
content: "";
position: absolute;
bottom: 0;
left: 0;
border-top: 29px solid red;
border-left: 29px solid #eee;
border-right: 29px solid #eee;
width: 42px;
height: 0;
}
Evet haklısın, ben değiştirdim –
Ama kabul edilmedin Şimdi cevap ver. Utanç. Seninki daha iyi. –
Sorun değil. Diğer cevap onun için daha iyi olduğunda, o zaman sorun yok. Sonunda, insanlara yardım etmekle ilgili ve kimin kabul edildiğine değil. –
box {
background-color: transparent;
position: fixed;
width: 300px;
height: 300px;
}
svg {
width: 300px;
height: 300px;
}
polygon {
visibility: visible;
background: black;
stroke: white;
}
<box>
<svg>
<polygon points="0 250, 50 300, 300 300, 300 50, 250 0, 0 0" />
</svg>
</box>
paylaşım için teşekkürler Sadece bir ekstra öğe ile yapılabilir –
@VladimirStarkov bilmek iyi, bu anlayış için teşekkürler :) – dDejan