1

基本的に、次のようなスタイルのヘッダーを作成する必要があります。

丸みを帯びた傾斜ヘッダー

完全なCSSの方法はありますか、それとも背景画像を使用する必要がありますか?

4

2 に答える 2

7

はい、CSSだけを使用してそれを行うことができますが、それは簡単ではなく、結果は...まあ、醜いです。これも確認することをお勧めします:逆に湾曲したタブのCSS

編集:私は今日より良いアイデアを得ました、これをチェックしてくださいhttp://dabblet.com/gist/2762234

CSSは次のとおりです。

h1 {
    min-width: 150px;
    height: 30px;
    margin: 0;
    /**border: solid 2px #979797;/**/
    border-bottom: none;
    border-radius: 8px 0 0 0;
    box-shadow: -2px -2px 2px #a5a5b1;
    display: inline-block;
    position: relative;
    background: linear-gradient(#e8e8ea, #f8f8fa);
}
h1:before {
    /**top: -2px;/**/
    /**/top: 0;/**/
    right: -23px;
    width: 30px;
    height: 30px;
    border-radius: 0 8px 0 0;
    /**border: solid 2px #979797;/**/
    border-left: none;
    border-bottom: none;
    box-shadow: 2px -2px 2px #a5a5b1;
    /** outline: solid 1px red; /* uncomment this to check position */
    transform: skewX(30deg);
    position: absolute;
    background: linear-gradient(#e8e8ea, #f8f8fa);
    content: '';
}
h1:after {
    right: -44px;
    /**bottom: 0;/**/
    /**/bottom: 2px;/**/
    width: 16px;
    height: 8px;
    /**border: solid 2px #979797;/**/
    border-top: none;
    border-right: none;
    border-radius: 0 0 0  8px;
    box-shadow: inset 2px -2px 2px #a5a5b1, -4px 4px 2px #f8f8fa;
    /** outline: solid 1px red; /* uncomment this to check position */
    transform: skewX(30deg);
    position: absolute;
    content: '';
}
div {
    min-height: 130px;
    margin-top: -7px;
    /**border: solid 2px #979797;/**/
    border-radius: 0 8px 0 0;
    box-shadow: -2px -2px 2px #a5a5b1, 2px -2px 2px #a5a5b1;
    background: linear-gradient(#f8f8fa, #f6f6f8);
}

見栄えを良くすることもできますが、その場合は、見出しの幅を固定し、divの疑似要素を使用する必要があります。

于 2012-05-21T11:41:00.113 に答える
0

これは、いくつかの要素を積み重ねて使用することでおそらく達成できます。
それはあなたが制作に望むものではないと思うので、私のアドバイスは背景画像に行くことです。

于 2012-05-21T11:43:59.433 に答える