2015-12-14 15 views
16

折り畳まれた用紙のように私のdivを積み重ねました。私は、各divにテキストを入れてセクションに分割したいと思っています。ボーダーにテキストを配置する方法は? (HTML、CSS)

私がdivを作った方法では、唯一目に見える部分は境界です。 divにテキストを追加すると、テキストは表示されるべき場所の上または下に表示されます(表示されないdivにあるため)。

基本的に、私のdivは見えません。私のボーダーが見える。私は境界線に表示するテキストが必要です。しかし、これを行うには、各テキストブロックのパディングを変更する必要があります。国境の上にテキストを置く方法はありますか?または、傾けられたdivを取得する簡単な方法はありますか?

私はrotateYを試しましたが、それは縮小させるだけです。

キャッチ - 私はHTMLとCSSのみ使用できます。

![screenshot of current appearance

CSS:

#slant1 { 
width: 700px; 
height: 225px; 
background-color: white; 
font-family: thorndale for vst; 
font-size: 16px; 
} 

#slant2 { 
border-top: 260px solid #F2F2F2; 
border-left: 50px solid transparent; 
border-right: 50px solid transparent; 
height: 2600px; 
width: 600px; 
position: absolute; 
z-index: -1; 
} 

#slant3 { 
border-bottom: 225px solid #E6E6E6; 
border-left: 50px solid transparent; 
border-right: 50px solid transparent; 
height: 225px; 
width: 600px; 
font-family: thorndale for vst; 
font-size: 16px; 
} 

#slant4 { 
border-top: 225px solid #F2F2F2; 
border-left: 50px solid transparent; 
border-right: 50px solid transparent; 
height: 225px; 
width: 600px; 
} 




<!DOCTYPE html> 
<html lang="en" id="Origami"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Origami</title> 
<link href="discover.css" rel="stylesheet" type="text/css" /> 
<meta name="description" content="Origami" /> 
<meta name="keywords" content="Origami"> 
<meta name="author" content="JojoRae" /> 
</head> 
<body> 
<div id="columnwrapper2"> 
<div id="slant1"> 
<div class="adamas1"></div> <div class="adamas"></div> 
<p class="p"> 
</p> 
</div> 
<div id="slant2"> 
<ul class="slides"> 
<input type="radio" name="group3" id="img-11" checked /> 
<li class="slide-container"> 
<div class="slide"> 
<img src="../ei/treasure.gif" /> 
</div> 
<div class="nav"> 
<label for="img-15" class="prev">&#x2039;</label> 
<label for="img-12" class="next">&#x203a;</label> 
</div> 
</li> 
</ul> 
</div> 
<div id="slant3"> 
<div class="adamas3"></div> 
<p class="p2"></p> 
</div> 
<div id="slant4"> 
</div> 
</div> <!--closes columnwrapper--> 
</body> 
</html> 
+3

あなたのHTML構造を教えてください。 –

+0

CSSはHTMLと密接に連携しているため、CSSはありますが、欠落しているのはHTMLです。あなたがページのHTMLソースをコピーしてこれを含む質問を更新する方法はありますか?ありがとう – user454038

答えて

4

を私は個人的に国境オプションを省略(それは少しハックだ)と何か一緒に行くでしょう。ここ

は、現在どのように表示されるかのスクリーンショットです異なる(おそらくもっと簡単です)。

1)あなたは、このいずれかを試してみましたが、それはうまくいきませんでした

CSS3 3Dトランスフォームを使用して:ここでのオプションのカップルです。あなたが質問で言うところから、rotateY(それは収縮するだけ)を使用したときに見つけた問題は、それをperspectiveと組み合わせなかったためであると思われます。これを実行すると(値を少しだけ再生して、探しているものに合わせる)、divはスキューされるだけでなく、内容が紙のエフェクトと同じ角度に見えるようになります。 SVGを使用することになる別の選択肢SVG

を使用)

html, body { 
 
    background:#444; 
 
} 
 

 
#columnwrapper2 { 
 
    min-width:700px; 
 
} 
 

 
.slant { 
 
    margin:auto auto; 
 
} 
 

 
#slant1 { 
 
    width: 700px; 
 
    height: 225px; 
 
    background-color: white; 
 
    font-family: thorndale for vst; 
 
    font-size: 16px; 
 
} 
 

 
#slant2 { 
 
    width:655px; 
 
    height:225px; 
 
    background:#eee; 
 
    transform: perspective(600px) rotateX(-20deg); 
 
} 
 

 
#slant3 { 
 
    width:668px; 
 
    height:225px; 
 
    background:#ddd; 
 
    transform: perspective(600px) rotateX(20deg) translateY(-33px); 
 
} 
 

 
#slant4 { 
 
    width:642px; 
 
    height:225px; 
 
    background:#eee; 
 
    transform: perspective(600px) rotateX(-20deg) translateY(-33px); 
 
}
<div id="columnwrapper2"> 
 
    <div id="slant1" class="slant"> 
 
    <div> 
 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris mi odio, fermentum eget ex sed, tincidunt consectetur enim. Suspendisse viverra commodo ultrices. In eu facilisis leo, quis consectetur ex. Nam congue fringilla elit, ac mattis velit dictum ac. Donec tincidunt placerat ligula fermentum vulputate. Sed malesuada orci sit amet enim euismod, et euismod nunc pretium. Ut molestie et sem eu consectetur. Praesent fringilla elit enim, a convallis nulla sodales id. Sed tristique cursus libero. Cras ac magna id nisl pulvinar iaculis eu sit amet velit. 
 
    </div> 
 
    </div> 
 
    <div id="slant2" class="slant"> 
 
    <div> 
 
     <img src="http://lorempixel.com/500/200/people" alt="Random Picture" /> 
 
    </div> 
 
    </div> 
 
    <div id="slant3" class="slant"> 
 
    <div> 
 
     Vivamus interdum facilisis justo ut fermentum. Cras turpis diam, efficitur sit amet mi sit amet, dapibus fermentum odio. Aenean fermentum tincidunt placerat. Vivamus dictum, diam quis elementum laoreet, lacus ex consectetur neque, eget fringilla ipsum neque nec sem. Ut eget venenatis urna, quis feugiat orci. Pellentesque vel interdum ante. Nulla blandit ex quam, non sollicitudin lectus laoreet nec. Integer vitae finibus elit. Duis pellentesque turpis odio, sit amet convallis libero blandit et. Maecenas accumsan est eros, vel scelerisque nulla scelerisque sit amet. 
 
    </div> 
 
    </div> 
 
    <div id="slant4" class="slant"> 
 
    <div> 
 
     Duis non placerat nisi, in maximus tellus. Nullam in interdum nunc, sed tempus nunc. Suspendisse lorem nisi, blandit vel odio ac, varius rhoncus sem. Phasellus quis placerat enim, id iaculis eros. Nunc at egestas nisi. Nulla in dui mattis, lacinia lectus ac, commodo ligula. Fusce fringilla vitae magna sit amet dignissim. Fusce quis elit elementum, faucibus eros id, facilisis mi. In vitae accumsan tellus. Quisque venenatis lacus urna, volutpat luctus eros feugiat id. Duis pretium pulvinar molestie. Nulla eget rhoncus sapien. 
 
    </div> 
 
    </div> 
 
</div> <!--closes columnwrapper-->


2:ここ

は、例えば(also available on this JSFiddle)です。これは、用紙折りたたみ効果(または数字で遊ぶ必要のないもの)でテキストを歪ませたくない場合には、より簡単な選択肢です。それはあなたが各セクションの正確な高さを知る必要があります。

SVGでイメージを作成して(直接イメージまたは下のコードとして)、#columnwrapper2のバックグラウンドに配置すると、残りのコンテンツがイメージの上に表示されます。

このデモ(also available on this JSFiddle)を参照してください:SVGの

html, body { 
 
    background:#444; 
 
} 
 

 
#columnwrapper2 { 
 
    width:700px; 
 
    position:relative; 
 
} 
 

 
.slant { 
 
    margin:auto auto; 
 
    height:250px; 
 
    width:600px; 
 
    padding:50px auto; 
 
    z-index:2; 
 
    position:relative; 
 
}
<div id="columnwrapper2"> 
 
    <svg width="700px" height="1000px" style="position:absolute;top:0;left:0;z-index:1;"> 
 
    <path fill="#ffffff" d="M0,0 700,0 700,250 0,250Z" /> 
 
    <path fill="#eeeeee" d="M0,250 700,250 650,500 50,500Z" /> 
 
    <path fill="#dddddd" d="M50,500 650,500 700,750 0,750Z" /> 
 
    <path fill="#eeeeee" d="M0,750 700,750 650,1000 50,1000Z" /> 
 
    </svg> 
 
    <div id="slant1" class="slant"> 
 
    <div> 
 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris mi odio, fermentum eget ex sed, tincidunt consectetur enim. Suspendisse viverra commodo ultrices. In eu facilisis leo, quis consectetur ex. Nam congue fringilla elit, ac mattis velit dictum ac. Donec tincidunt placerat ligula fermentum vulputate. Sed malesuada orci sit amet enim euismod, et euismod nunc pretium. Ut molestie et sem eu consectetur. Praesent fringilla elit enim, a convallis nulla sodales id. Sed tristique cursus libero. Cras ac magna id nisl pulvinar iaculis eu sit amet velit. 
 
    </div> 
 
    </div> 
 
    <div id="slant2" class="slant"> 
 
    <div> 
 
     <img src="http://lorempixel.com/500/200/people" alt="Random Picture" /> 
 
    </div> 
 
    </div> 
 
    <div id="slant3" class="slant"> 
 
    <div> 
 
     Vivamus interdum facilisis justo ut fermentum. Cras turpis diam, efficitur sit amet mi sit amet, dapibus fermentum odio. Aenean fermentum tincidunt placerat. Vivamus dictum, diam quis elementum laoreet, lacus ex consectetur neque, eget fringilla ipsum neque nec sem. Ut eget venenatis urna, quis feugiat orci. Pellentesque vel interdum ante. Nulla blandit ex quam, non sollicitudin lectus laoreet nec. Integer vitae finibus elit. Duis pellentesque turpis odio, sit amet convallis libero blandit et. Maecenas accumsan est eros, vel scelerisque nulla scelerisque sit amet. 
 
    </div> 
 
    </div> 
 
    <div id="slant4" class="slant"> 
 
    <div> 
 
     Duis non placerat nisi, in maximus tellus. Nullam in interdum nunc, sed tempus nunc. Suspendisse lorem nisi, blandit vel odio ac, varius rhoncus sem. Phasellus quis placerat enim, id iaculis eros. Nunc at egestas nisi. Nulla in dui mattis, lacinia lectus ac, commodo ligula. Fusce fringilla vitae magna sit amet dignissim. Fusce quis elit elementum, faucibus eros id, facilisis mi. In vitae accumsan tellus. Quisque venenatis lacus urna, volutpat luctus eros feugiat id. Duis pretium pulvinar molestie. Nulla eget rhoncus sapien. 
 
    </div> 
 
    </div> 
 
</div> <!--closes columnwrapper-->

一つの利点は、あなたがIEでいくつかの問題を見つけることができ、以前のtransform溶液で(ほとんどのブラウザでサポートされていることですそれは調整が必要です)。

関連する問題