真っ直ぐではなく、上部のヘッダーセクションが斜めに見えるWebページを作成するための最良の方法(html、css、およびグラフィックスを使用)は何でしょうか?例として、以下の画像を参照してください。
さまざまなブラウザのサイズ/解像度に応じて拡大/縮小するような方法で画像を使用する方法がわかりません...
誰かが私に助けを提供できますか?または、おそらく私にリソースを教えてください。
ありがとう!
真っ直ぐではなく、上部のヘッダーセクションが斜めに見えるWebページを作成するための最良の方法(html、css、およびグラフィックスを使用)は何でしょうか?例として、以下の画像を参照してください。
さまざまなブラウザのサイズ/解像度に応じて拡大/縮小するような方法で画像を使用する方法がわかりません...
誰かが私に助けを提供できますか?または、おそらく私にリソースを教えてください。
ありがとう!
私のは@Alexのよりクリーンなバージョンです:
.head {
-webkit-border-top-left-radius: 40% 80px;
-webkit-border-top-right-radius: 40% 80px;
-moz-border-radius-topleft: 40% 80px;
-moz-border-radius-topright: 40% 80px;
border-top-left-radius: 40% 80px;
border-top-right-radius: 40% 80px;
background: blue;
height: 280px
}
<div class="head"></div>
明らかに IE では動作しません。
CSS3 または Webkit 固有のプロパティを使用できますが、ブラウザー間の互換性に関する限り、これは十分にサポートされていません。できるだけ多くのブラウザーをサポートしたい場合は、背景画像を使用してこの効果を実現することをお勧めします。
これは、jquery を使用して作成したクロスブラウザー バージョンです。基本的に、スクリプトは、背景が白で幅が減少する多数のスパンを作成します。
結果を変更する変数をSTEPS
いじることができます。FACTOR
ステップ関数は曲線のイージングを設定します。後で私よりも優れた機能に置き換えることができますが、これは単なる例です。
var STEPS = 53;
var FACTOR = 5;
var $el = $('div.header');
var width = $el.outerWidth();
var $span = $('<span></span>');
for(i=0;i<STEPS;i++){
tmpWidth = stepWidth(i, width);
$span.clone().css({
'bottom': i + 'px',
'width': tmpWidth,
'left': (width - tmpWidth)/2
}).appendTo($el);
}
function stepWidth(i, width){
return -(1 / FACTOR * Math.pow(i, 2)) + width;
}
コード全体を見つけることができます(Fiddleの html + css )