版权声明:本文为iimT原创文章,转载请著名出处。 https://blog.csdn.net/u013764814/article/details/83786552
放个好看的头图先
最近的时候刷知乎看到了这种广告效果
emmmmm… 简书把图片转成了黑白,忽视这个细节吧。
效果分析
- 广告图片在信息流下面一层
- 在信息流的列表中留一个缝隙,就能看到下面一层的图片了
- 隐藏滚动条
嗯,看上去这么华丽的效果就是这么简单。
具体实现
- 用一个
div#container
作为包裹层,里面ul > li*8
作为信息流, 一个绝对定位的div#footer
。这样大体的框架就好了。 - 调整一下高宽,加点边框和阴影。
- 为了信息流的滑动,将
div#content
设置overflow: hidden;
和overflow-y: scroll;
- 隐藏滚动条,设置
::-webkit-scrollbar { width: 0px; }
这是设置网页滚动条的宽度,宽度为0就没有了。
效果
源码
#container {
margin: 0 auto;
margin-top: 100px;
width: 320px;
height: 600px;
border: 1px solid #666;
box-shadow: 0px 0px 3px 1px #888;
position: relative;
overflow: hidden;
}
#footer {
width: 100%;
height: 50px;
background: #ccc;
box-shadow: 0px -1px 3px 1px #888;
position: absolute;
bottom: 0;
top: 550px;
text-align: center;
float: right;
}
#content {
height: 570px;
overflow: hidden;
overflow-y: scroll;
}
#content ul li {
height: 150px;
background: #ddd;
box-shadow: 0px -1px 3px 0px #666;
box-sizing: border-box;
text-align: center;
font-size: 18px;
padding: 50px 5px;
}
<div id="container">
<div id="content">
<ul>
<li>第1条</li>
<li>第2条</li>
<li>第3条</li>
<li>第4条</li>
<li>第5条</li>
<li>第6条</li>
<li>第7条</li>
<li>第8条</li>
</ul>
</div>
<div id="footer">
底部
</div>
</div>
加入广告
前面已经把信息流做好了,后面需要做的就是
- 加入一张图片,让它在信息流的下面一层。具体实现:
- 在
div#content
中添加div#bg > img
- 设置
div#bg
填充父元素 - 设置
z-index: -5
将它放在下一层
- 在
- 在信息流中增加一个空隙,使下面的图片能被看到。具体实现:
- 选一个合适位置的li
- 给这个li设置
id='pre'
- 设置css,
#pre{ margin-bottom: 150px}
OK, 完成了。
最终效果
最终代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>仿知乎背景滑动</title>
<style>
* {
margin: 0;
padding: 0;
}
ul li {
list-style: none;
}
/******美化滚动条样式********/
::-webkit-scrollbar{
width: 0px;
}
#container {
margin: 0 auto;
margin-top: 100px;
width: 320px;
height: 600px;
border: 1px solid #666;
box-shadow: 0px 0px 3px 1px #888;
position: relative;
overflow: hidden;
}
#footer {
width: 100%;
height: 50px;
background: #ccc;
box-shadow: 0px -1px 3px 1px #888;
position: absolute;
bottom: 0;
top: 550px;
text-align: center;
float: right;
}
#content {
height: 570px;
overflow: hidden;
overflow-y: scroll;
}
#content ul li {
height: 150px;
background: #ddd;
box-shadow: 0px -1px 3px 0px #666;
box-sizing: border-box;
text-align: center;
font-size: 18px;
padding: 50px 5px;
}
#bg {
position: absolute;
top: -1px;
z-index: -5;
}
#pre {
margin-bottom: 160px;
}
</style>
</head>
<body>
<div id="container">
<div id="content">
<ul>
<li>第1条</li>
<li>第2条</li>
<li>第3条</li>
<li id="pre">第4条</li>
<li>第5条</li>
<li>第6条</li>
<li>第7条</li>
<li>第8条</li>
</ul>
<div id="bg">
<img src="bg.png">
</div>
</div>
<div id="footer">
底部
</div>
</div>
</body>
</html>
写在最后
我是iimT, 一个固执的技术直男。
我的微信公众号 : iimT 个人博客: iimT的个人博客