5

私は現在ページに取り組んでおり、ほぼ完成しています。しかし、私を悩ませていることが1つあります。スクロールバーとたくさんのテキストと画像を備えたコンテンツdiv(670x400px)があります。スクロールすると、テキストが半分にカットされ、端に半文字の行が残っていることがあります。私が言っていることの画像を添付しました。

http://imageshack.us/photo/my-images/195/unbenannt1fll.jpg/

私が今やりたいのは、エッジをフェードアウトさせることです。そこに白いグラデーションや透明度などをjqueryで配置するなどのアイデアを考えて、いくつかの単語を検索しました。有用なものは何も見つかりませんでした。自分で何かを考えるのは残念です。あなたが私の問題を理解し、多分私を助けてくれることを願っています。

編集:

作成したいものの(フォトショップで)写真を追加しました。

http://imageshack.us/photo/my-images/339/unbenannt1qo.jpg/

4

2 に答える 2

3

フォーマットについてお詫びしますが、白から透明への背景グラデーションに関連するcssを次に示します。それはあなたが必要なことをするはずです。

編集

:before含まれているdiv内に絶対的に配置された疑似要素を使用することにより、2番目の要素を追加せずにこれを行うことができます。IE7ではこれは機能しません。これがデモンストレーションするフィドルです

.gradient{
    position:relative;
}

.gradient:before{
position:absolute;
content: " ";
top:0;
width:100%;
height:20px;
z-index:1;
background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */

}
于 2012-12-19T14:35:15.980 に答える
2

これは、css3グラデーション(およびIE 6-9のフィルターフォールバック)を使用して簡単に行うことができます。

実例:

http://jsfiddle.net/kdQ4y/またはhttp://jsfiddle.net/kdQ4y/1/

http://www.colorzilla.com/gradient-editor/を使用して生成されたグラデーションのコード

html構造

<div class="wrap">
   <div class="top"></div>
   <div class="content">Content here</div>
   <div class="bottom"></div>
</div>

css(すべてが必要なわけではありません)

.wrap{
    margin:40px;
    position:relative;
    padding:10px;
}

.content{
    height:100px;
    overflow-y:scroll;
}​

.top,.bottom {
    height:40px;
    width:100%;
    position:absolute;
    left:0;
    z-index:10;
}

.top{
    top:0;
    background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */

}

.bottom {
    bottom:0;
background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* IE10+ */
background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */

}
于 2012-12-19T14:46:04.703 に答える