2014-02-27 117 views
17
的一個角落

我試圖歪曲我的DIV的背景之一單角,如下圖所示,在綠色的勾號:歪斜的圖像

enter image description here

在CSS3我卻無法實現那種傾斜完全扭曲了每個角落。我只想將右下角傾斜到左邊(比如25px)並保持透視(如上圖所示)。

background-image: url('http://rtjansen.nl/images/stackoverflow.png'); 
-webkit-transform: skew(-45deg); 

小提琴:http://jsfiddle.net/3eX5j/

我的代碼是:

div {  
    width: 300px; 
    height:80px; 
    margin-left:40px; 
    background-image: url('http://rtjansen.nl/images/stackoverflow.png'); 
    -webkit-transform: skew(-45deg); 
} 
+0

你想要一個純粹的CSS3的解決方案? – Zword

+0

我想盡量貼近純粹的CSS3 – bartjansen

+0

我沒有太多時間,但似乎有可能。 [This](http://jsfiddle.net/MrLister/8QhBb/2/)就是你想要的,不是嗎?這是一個基於[此MDN頁面](https://developer.mozilla.org/en-US/docs/Web/CSS/perspective)的快速入侵視圖。我知道它需要工作,對不起。 –

回答

36

所有你需要做的是想3D:

div {  
    width: 300px; 
    height:80px; 
    margin-left:40px; 
    background-image: url('http://rtjansen.nl/images/stackoverflow.png'); 
    -webkit-transform: perspective(100px) rotateX(-25deg); 
    -webkit-transform-origin: left center; 
    -moz-transform: perspective(100px) rotateX(-25deg); 
    -moz-transform-origin: left center; 
} 

fiddle

解釋:你正在向上旋轉元素。但是,透視(通過變換原點來處理,它是一個函數!)使得左手旋轉不會在水平移動中平移。

瞭解如何可以控制什麼是最終大小

fiddle with multiple options

+2

我需要更多賬號來支持這個! – Kroltan

+0

@Kroltan謝謝!很高興你喜歡它! – vals

+1

可能我只是添加一個編輯,因爲Gecko也支持轉換... – Kroltan