2016-10-08 24 views
0

當溢出(滾動)移出div時,是否可以模糊某些文本或設置漸變?
當我在div中滾動並且文本從容器中移出時,它看起來有點削減。將模糊或漸變設置爲溢出移動的文本

在div的末尾,您可以看到當文本離開div時,文本被簡單切割。包含文本的父div具有填充:25px;background-color:rgba(0,0,0,0.5);

@RMo UPDATE: 這正是我想要的。現在對齊失敗了一點。我有一個容器,我注入了一些內容。這是容器的CSS:

#main { 
    width: 100%; 
    height: calc(100vh - 100px); 
    position: relative; 
    color: white; 
    background-color: rgba(0, 0, 0, 0.5); 
    border-radius: 20px; 
    padding: 25px; 
} 

而且這裏面我有了溢出的另一個DIV:汽車;。 所以該結構是:

<div id="main" ng-view> 
    <div id="inner"> 
    <div class="blur-top"></div> 
    Lorem ipsum ... 
    <div class="blur-bottom"></div> 
    </div> 
</div> 

當我使用位置是:固定;關於模糊類。漸變甚至不顯示。當我用位置:相對;然後漸變在那裏,但當然它滾動的內容,因爲它不固定。我該如何解決這個問題? 一般來說,即使將其設置爲背景,漸變顏色也不匹配。我的結果看起來像這樣的時刻:position:relative

小提琴:https://jsfiddle.net/qezzc9gg/5/

+1

請將您的HTML和CSS代碼 –

+0

https://jsfiddle.net/tjbaezid/qezzc9gg/4/這裏是一個剛剛例如,你可以解釋多一點 –

+0

@MostafaBaezid我也更新小提琴到我目前的狀態:https://jsfiddle.net/qezzc9gg/5/ – bash0ne

回答

0

取下ID #main其中固定所述屏幕溢出-γ的寬度和添加邊框左上-radius:20px; border-right-right-radius:20px;到blur-top和border-bottom-left-radius:20px; border-bottom-right-radius:20px;進入模糊底部。它們與#main div border-radius匹配。並刪除一些額外的CSS部分是不必要的。還要感謝@RMo給出了完美的想法。 。如有任何問題,請發表評論。 :) LiveOnFiddle

#main { 
 
    height: calc(100vh - 100px); 
 
    position: relative; 
 
    color: white; 
 
    background-color: rgba(0, 0, 0, 0.5); 
 
    border-radius: 20px; 
 
    padding: 25px; 
 
} 
 

 
#content { 
 
    height: 100%; 
 
    width: 100%; 
 
    overflow: auto; 
 
    text-align: justify; 
 
    padding: 10px 10px; 
 
} 
 

 
.blur-top { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    right: 0; 
 
    height: 3em; 
 
    background: linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 0)); 
 
    border-top-left-radius: 20px; 
 
    border-top-right-radius: 20px; 
 

 
} 
 

 
.blur-bottom { 
 
    position: absolute; 
 
    bottom: 0; 
 
    left: 0; 
 
    right: 0; 
 
    height: 3em; 
 
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)); 
 
    border-bottom-left-radius: 20px; 
 
    border-bottom-right-radius: 20px; 
 

 
}
<div id="main"> 
 
    <div id="content"> 
 
<div class="blur-top"></div> 
 
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor 
 
in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore 
 
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore 
 
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat 
 
cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud 
 
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia 
 
deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex 
 
ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum 
 
dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit 
 
in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
 
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat 
 
nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
 
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 
 
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation 
 
ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit 
 
anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
 
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur 
 
adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit 
 
esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut 
 
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur 
 
sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
 
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa 
 
qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut 
 
aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure 
 
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing 
 
elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum 
 
dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et 
 
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint 
 
occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis 
 
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui 
 
officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip 
 
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum 
 
dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit 
 
in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
 
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat 
 
nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
 
<div class="blur-bottom"></div> 
 
    </div> 
 
</div>

0

這是你在找什麼?代碼應該是自我解釋的。如果您需要一些額外的解釋,請發表評論。

A codepen example

HTML

<div class="blur-top"></div> 
     <article> 
     <h1>Text with fadeout edges on top/bottom by RMo</h1> 
     <p>Pellentesque habitant... </p> 
     <p>Pellentesque habitant... </p> 
     <p>Pellentesque habitant... </p> 
     <p>Pellentesque habitant... </p> 
     </article> 
    <div class="blur-bottom"></div> 

CSS

.blur-top { 
    position: absolute; 
    top: 0; 
    left: 0; 
    right: 0; 
    height: 3em; 
    background: linear-gradient(rgba(255,255,255,1), rgba(255,255,255,0)); 
    z-index: 10; 
    pointer-events: none; 
} 
.blur-bottom { 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    height: 3em; 
    background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)); 
    z-index: 10; 
    pointer-events: none; 
} 
+0

請看我更新的問題。基本上這是我想要實現的,但是我目前在對齊方面有一些麻煩。 – bash0ne

+0

@ bash0ne我已更新答案 – pwolaq

+0

@pwolaq是的,對齊問題是由固定位置引起的。它可以通過使用絕對定位來解決(如編輯pwolaq)。絕對定位與固定定位基本相同,只是它不會將項目與瀏覽器窗口相關聯,而是與第一個相對定位的祖先相關。不要忘記設置位置:相對於父div! PS:我可能會在某一天改進這個想法,嘗試使用僞元素而不是額外的div/html來做到這一點非常酷。 – RMo