2015-05-01 24 views
10

LOOKS'u basit yapmaya çalışıyorum ama nasıl yapılacağını anlayamıyorum.CSS'de açılı çizgiler çizme

Görüntümde gördüğünüz gibi alttan geçen birkaç kırmızı çizgi var, sonra sağ tarafa doğru yukarı doğru bükün.

Böyle bir çizgi çizmek için CSS'de bir yol var mı?

example showing lines

+0

Sadece açılı çizgiler (veya) resmin üzerinde bir çizgi ve ekran görüntüsünde bir çizgi gibi mi görünüyorsunuz? – Harry

+0

Sadece böyle çizgiler çizmeyi bilmem gerek. Daha sonra ikinci satır için çoğaltabilir ve örtüşme efekti elde etmek için z-endeksi değerlerini ayarlayabilirim. –

+1

[Bu] (http://codepen.io/hari_shanx/pen/xGGPrL) yeterli olur mu? – Harry

cevap

24

Sen çarpık dönüşümler (transform: skew(Xdeg)) kullanarak CSS'deki açılı çizgiler oluşturabilirsiniz. Aşağıda bir örnek parçacık: İçerik alanının üzerinde ve diğeri ile

.shape { 
 
    height: 50px; 
 
    width: 200px; 
 
    border-bottom: 2px solid red; 
 
    border-right: 2px solid red; 
 
    -moz-transform: skew(-45deg); 
 
    -webkit-transform: skew(-45deg); 
 
    transform: skew(-45deg); 
 
}
<div class="shape"></div>


Çift hat aynı zamanda tek bir eleman (ve pseudos bir çift) gibi kullanılarak yapılabilir arkasında

.shape:before { 
 
    position: absolute; 
 
    bottom: -5px; 
 
    left: -5px; 
 
    content: ''; 
 
    height: 50px; 
 
    width: 100%; 
 
    border-bottom: 3px solid red; 
 
    border-right: 4px solid red; 
 
    -webkit-transform: skew(-45deg); 
 
    -moz-transform: skew(-45deg); 
 
    transform: skew(-45deg); 
 
} 
 
.shape:after { 
 
    position: absolute; 
 
    content: ''; 
 
    bottom: -10px; 
 
    left: 0px; 
 
    height: 55px; 
 
    width: 100%; 
 
    border-bottom: 3px solid red; 
 
    border-right: 4px solid red; 
 
    -webkit-transform: skew(-45deg); 
 
    -moz-transform: skew(-45deg); 
 
    transform: skew(-45deg); 
 
    z-index: -1; 
 
} 
 
.shape { 
 
    position: relative; 
 
    height: 80px; 
 
    width: 400px; 
 
    background: whitesmoke; 
 
}
<div class="shape"> 
 
    Some text that goes within the element... 
 
</div>

: aşağıdaki kod parçasında
+1

@SherwinFlight: Karşılama arkadaşı. Görüntüdeki gibi kesin bir görüntü elde etmek için bir örnek ekledim (sadece 1 elementle). Dikkat edilmesi gereken bir şey şudur: biz eğri yapıyoruz, eğimli sınır biraz ince olurdu ama bu sınırın diğerinden daha kalın olmasıyla üstesinden gelinebilir. – Harry

+0

DIV'nin sol üst köşesinin nasıl kesileceğini biliyor musunuz? Örneğin, sol üst köşesi geriye katlanmış veya çıkarılmış bir parça kağıda benzeyecek şekilde. –

+0

Arka plan düz bir renk mi? Eğer evet ise, bir üçgen kullanabilir ve en üste yerleştirebilirsiniz. Aksi halde, yine de elde edilebilir, ancak fazladan çalışmaya ihtiyaç duyulur. – Harry