Scroll & Shadows
Las sombras superior e inferior se muestran u ocultan en función de la posición del scroll. Puro Css
by kseso
HTML
<div class="screen">
<h1>Scroll & shadows</h1>
<div class="scrollshadow">
<ul>
<li>Scrollea!!!</li>
<li>Y fíjate</li>
<li>En la sombra</li>
<li>Superior e</li>
<li>inferior</li>
<li>Que marcan si</li>
<li>hay más contenido</li>
<li>oculto o no</li>
<li>.-</li>
<li>.-</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>
<li>16</li>
<li>17</li>
<li>18</li>
<li>19</li>
<li>20</li>
<li>21</li>
<li>22</li>
<li>23</li>
<li>24</li>
<li>25</li>
<li>26</li>
<li>27</li>
<li>28</li>
<li>FIN!</li>
<li>No más shadow aquí.</li>
</ul>
</div></div>
CSS
@import url(http://fonts.googleapis.com/css?family=Nunito:700|Carme);
* {margin: 0; padding: 0; border: 0 none; position: relative;}
html, body {background: #eee; color: #8AA9B8;}
.screen {
background: #FFFFFF;
margin: 10px auto 40px;
overflow: hidden;
position: relative;
width: 300px;
z-index: 5;
border: 1px solid #CDCDCD;
border-radius: 5px 5px 5px 5px;
}
h1 {
background: #F9F9F9;
border-bottom: 1px solid #CDCDCD;
font-family: nunito, sans serif;
font-size: 2rem;
color: #999;
height: 48px;
line-height: 3rem;
margin-bottom: 5px;
position: relative;
text-align: center;
}
.scrollshadow {
font-family: monospace;
margin-top: -0.3rem;
max-height: 200px;
overflow: auto;
padding: 1rem 0;
position: relative;
}
ul {
list-style-type: none;
position: static;
margin-bottom: -1rem; /*colisión de estilos con codepen*/
}
li {
font-family: carme, sans serif;
font-size: 1rem;
padding-left: 1rem;
}
ul li:last-child {
background: #fff;
z-index: 10;
}
.screen:before {
border-radius: 60%/10px;
box-shadow: 2px 0 10px 3px rgba(0, 0, 0, 0.8);
content: "";
height: 47px;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.screen:after {
border-radius: 60%/10px;
box-shadow: -2px 0 10px 2px rgba(0, 0, 0, 0.6);
content: "";
height: 20px;
left: 0;
margin-left: 10%;
position: absolute;
bottom: -20px;
width: 80%;
}
.scrollshadow ul:before {
background: #FFFFFF;
content: "";
display: block;
height: 10px;
left: 0;
position: absolute;
right: 0;
top: 0rem;
width: 100%;
z-index: 8;
}
JavaScript
//Las sombras superior e inferior se muestran u ocultan en función de la posición del scroll.
// Puro Css. No javascript.