2

私はこれをどこでも探しましたが、背景のグラデーションの解決策しか見つけることができません。

これは私を困惑させたので...ここに行きます。

グラデーションヘッダーがあります。その幅を画面の幅にしたい。横にスクロールする場合を除いて、ウィンドウのサイズを変更するときにすべて正常に機能します。その後、グラデーションが空白に変わります。

コンテンツは大きな固定幅にとどまる必要があります。私の実際のページのHTMLでは、ヘッダーはラッパーと別のdivに含まれています。解決策がCSSのHTMLであった場合は素晴らしいですが、前者が不可能な場合はjavascriptとjqueryで問題ありません。

問題を示すjsフィドルを作成しました。http://jsfiddle.net/WvHYM/18/

これがhtmlです

<body>
    <div id="wrapper">
        <div id="header">&nbsp</div>
        <div id="content">This is the content</div>
    </div>
</body>

そしてcssにはグラデーションが含まれているので、それは獣です

html, body{
    width:100%;
}

#wrapper{
    width:100%;
}
#header {
    height: 75px;
    width: 100%;
    background: #7d7e7d; /* Old browsers */ /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64, PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPHJhZGlhbEdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNzUlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiM3ZDdlN2QiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMGUwZTBlIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L3JhZGlhbEdyYWRpZW50PgogIDxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #7d7e7d), color-stop(100%, #0e0e0e)); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%); /* IE10+ */
    background: radial-gradient(ellipse at center, #7d7e7d 0%, #0e0e0e 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7d7e7d', endColorstr='#0e0e0e', GradientType=1); /* IE6-8 fallback on horizontal gradient */
}
#content {
    width: 600px;
    height: 200px;
    background-color: #ccc;
    padding: 20px;
    font-family: Lucida Sans Unicode;
}

これが問題のいくつかの画像です。

これは大丈夫です

クールではありません!

答えをいただければ幸いです。:)

4

3 に答える 3

1

html

<body>
    <div class="wrapper"><div>&nbsp</div></div>
    <div>This is the content</div>
</body>

css

body{
    width:100%;
}
.wrapper {
    width:100%;
}
div:first-of-type {
    height:75px;
    width:100%;
    background: #7d7e7d;
    /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;
    base64, PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPHJhZGlhbEdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNzUlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiM3ZDdlN2QiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMGUwZTBlIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L3JhZGlhbEdyYWRpZW50PgogIDxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%);
    /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, #7d7e7d), color-stop(100%, #0e0e0e));
    /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%);
    /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, #7d7e7d 0%, #0e0e0e 100%);
    /* IE10+ */
    background: radial-gradient(ellipse at center, #7d7e7d 0%, #0e0e0e 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#7d7e7d', endColorstr='#0e0e0e', GradientType=1);
    /* IE6-8 fallback on horizontal gradient */
}
div:last-of-type {
    width:600px;
    height:200px;
    background-color:#ccc;
    padding:20px;
    font-family:Lucida Sans Unicode;
}
}

デモ

于 2013-03-01T05:35:37.170 に答える
0

お使いのfirst-of-typeタグのみlast-of-typeに対応しています。<p>この問題を解決するには、<div>別の 内にが必要<div>です。

これを試して:

<div id="header">

   <div id="header-gradient">

   //your content

   </div>

</div>

CSS の場合:

#header {
   width: 100%;
}

#header-gradient:first-of-type {
   //style here
}

#header-gradient:last-of-type {
   //style here
}
于 2013-03-01T05:24:07.560 に答える