2013-11-26 6 views
5

CSS/Html/Canvasを使用して台形を作成する方法は誰でも知ることができますか?クリッピングされたオーバーフローで「台形」の形をしたdivを作成する

私はハッシュを並べてみるのが非常に面倒で、実世界では使用できません。

div { 
width:0; 
margin-left:-1000px; 
height:100px; 
border-right:1000px solid lightblue; 
border-top:60px solid transparent; 
border-bottom:60px solid transparent; 
padding-left:1000px; 
white-space:no-wrap; 
} 

HERESに私のjsFiddle ...

http://jsfiddle.net/Liamatvenn/WWYYM/

+0

はなぜあなたが使用不能にやったのですか?あなたは正確に何を達成しようとしていますか?あなたのフィドルはあなたが探していることをしているようです。 – sn3ll

+0

@ sn3ll:OPが望むのは、台形の外側を流れるときにテキストコンテンツが「クリップ」(隠される)であることです。 – ScottS

+0

サイズは静的でなければならず、変更するのが面倒です(ここでは単純に幅+高さではありません)。 – tybro0103

答えて

0

私はあなたが欲しいものを知っ `tを。だから私はこれがあなたを少し助けるだろうと思う。

div { 
    width:0; 
    margin-left:-100px; 
    height:100px; 
    border-right:100px solid lightblue; 
    border-top:60px solid transparent; 
    border-bottom:60px solid transparent; 
    padding-left:100px; 
    white-space:no-wrap; 
} 
+1

'div'はデフォルトで' display:block'ですので、何もしません。 – ScottS

+0

はい、あなたは正しいです、申し訳ありません。 – singhiskng

0

このようなものについて話していますか?これを確認してください:jsfiddle.net/WWYYM/3/。それがあなたのために働くかどうか私に教えてください。私は次のようにコードを編集した:

div { 
    border-bottom: 100px solid lightblue; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    height: 0; 
    width: 500px; 
    white-space:no-wrap; 
    text-align:center; 
} 
0

あなたはまた、同様に、以下の変換することができます:

div { 
width:0; 
margin-left:-50px; 
margin-top: -500px; 
height:100px; 
border-right:100px solid lightblue; 
border-top:60px solid transparent; 
border-bottom:60px solid transparent; 
padding-left:1000px; 
white-space:no-wrap; 

transform:rotate(20deg); 
-ms-transform:rotate(20deg); /* IE 9 */ 
-webkit-transform:rotate(90deg); 

}

1

は私がラッパーとして2つの余分なdivタグでそれを行うことができます。

CSS

.trapezium { 
    position: absolute; 
    left: 40px; 
    top: 40px; 
    width: 300px; 
    height: 200px; 
    -webkit-transform: skewY(6deg); 
    overflow: hidden; 
} 

.trapezium > div { 
    background-color: yellow; 
    position: absolute; 
    left: 0px; 
    top: 50px; 
    width: 300px; 
    height: 200px; 
    -webkit-transform: skewY(-12deg); 
    overflow: hidden; 
} 

.trapezium > div > div { 
    font-size: 60px; 
    background-color: yellow; 
    position: absolute; 
    left: 0px; 
    top: -30px; 
    width: 300px; 
    height: 200px; 
    -webkit-transform: skewY(6deg); 
    overflow: hidden; 
} 

demo

+0

ありがとうございます@Vals、私はこれが私が得るように近いと思う、流動性のサイトにもなるいくつかの.pngsを使用する必要があります - ちょうどその可能な場合、あなたの入力を感謝して質問したい。 – Liam

関連する問題