私はCSSを少しの間遊んでいますが、通常のボックスを使用しようとしていますが、左上の角は45度の角度で切れています。少なからず。私はその角度でカットされた非常に大きなコーナーを見ています。この効果:
どうすればいいですか?
Slantastic( http://meyerweb.com/eric/css/Edge/slantastic/demo.html )は古いブラウザをサポートしています。 CSS3固有の場合は、CSSポリゴンを試してください: http://alastairc.ac/2007/02/dissecting-css-polygons/ 。
HTML:
<div class="cornered"></div>
<div class="main">Hello</div>
CSS:
.cornered {
width: 160px;
height: 0px;
border-bottom: 40px solid red;
border-right: 40px solid white;
}
.main {
width: 200px;
height: 200px;
background-color: red;
}
結果: http://jsfiddle.net/mdQzH/
境界線セクションで透明な境界線とテキストを使用するには... HTML:
<div class="outer">
<div class="cornered">It's possible to put text up here, too
but if you want it to follow the slant you have to stack
several of these.</div>
<div class="main">Hello hello hello hello
hello hello hello hello hello</div>
</div>
CSS:
.outer {
background-color: #ccffff;
padding: 10px;
font-size: x-small;
}
.cornered {
width: 176px;
height: 0px;
border-bottom: 40px solid red;
border-left: 40px solid transparent;
}
.main {
width: 200px;
height: 200px;
background-color: red;
padding: 0 8px;
}
これは、svg clip-path
。
利点:
次のCSSは、背景を配置できるように、右下隅を切り取ってdivを形成します。
-webkit-clip-path: polygon(100% 0, 100% 65%, 54% 100%, 0 100%, 0 0);
clip-path: polygon(100% 0, 100% 65%, 54% 100%, 0 100%, 0 0);
オンラインには複数のSVGジェネレーターがあります。
CSS3 linear-gradient()
はこの背景を描画できます。
background: linear-gradient(to bottom right, transparent 50px, blue 50px);
body {
background: linear-gradient(red, orange) no-repeat;
min-height: 100vh;
margin: 0;
}
div {
background: linear-gradient(to bottom right, transparent 50px, blue 50px);
margin: 25px auto;
padding: 50px;
height: 200px;
width: 200px;
color: white;
}
<div>
Lorem ipsum dolor sit amet... Lorem ipsum dolor sit amet... Lorem ipsum dolor sit amet... Lorem ipsum dolor sit amet... Lorem ipsum dolor sit amet... Lorem ipsum dolor sit amet... Lorem ipsum dolor sit amet...
</div>
近い将来、 CSS Shapes Module でこれを達成できます。
とともに shape-inside
プロパティ-形状に応じてテキストフローを作成できます。
提供する形状は、inset()、circle()、ellipse()、またはpolygon()のいずれかです。
現在、これはWebkitブラウザーで実行できますが、最初に以下を実行する必要があります: Web Platform からの指示
シェイプ、リージョン、およびブレンドモードを有効にするには:
1)opera:// flags /#enable-experimental-web-platform-featuresをコピーしてアドレスバーに貼り付け、Enterキーを押します。
2)そのセクション内の「有効にする」リンクをクリックします。
3)ブラウザウィンドウの下部にある[今すぐ再起動]ボタンをクリックします。
次のようになります。
<div class="shape">
Text here
</div>
.shape{
-webkit-shape-inside: polygon(65px 200px,65px 800px,350px 800px,350px 80px,160px 80px);
shape-inside: polygon(65px 200px,65px 450px,350px 450px,350px 80px,160px 80px);
text-align: justify;
}
多角形の形状を構築するには- このサイト を使用しました
サポートされているさまざまなプロパティの詳細については、こちらをご覧ください こちら
レイトーアルフィドルのレスポンシブフレンドリーなソリューションを思い付きました: http://jsfiddle.net/duk3/hCaXv/
Html:
<div class="outer">
<div class="cornered">It's possible to put text up here, too
but if you want it to follow the slant you have to stack
several of these.</div>
<div class="main">Hello llo hello llo hello hello hello llo hello hello hello hello hello hello hello hello</div>
</div>
Css:
.outer {
background-color: #ccffff;
padding: 10px;
font-size: x-small;
}
.cornered {
width: 100%;
box-sizing:border-box;
height: 0px;
border-bottom: 2em solid red;
border-left: 2em solid transparent;
border-right: 2em solid transparent;
}
.main {
background-color: red;
padding: 0 2em;
}
それが役に立てば幸い !