Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[素材] 网页制作教学: 侧边栏浮动广告效果

[复制链接]
炎藤 发表于 2012-12-8 17:53:24 | 显示全部楼层 |阅读模式
本帖最后由 炎藤 于 2012-12-8 02:14 编辑

制作模板,应该从前段开发慢慢学起,这里分享侧边栏浮动广告效果的制作

1. 先完成简单 Style
  1. <style>
  2.         body{
  3.                 margin: 0px;
  4.         }
  5.         #bigContainer{
  6.                 width: 900px;
  7.                 margin-left: auto;
  8.                 margin-right: auto;
  9.                 background-color: #999;
  10.                 color: #efd;
  11.         }
  12.         #content{
  13.                 float: left;
  14.                 width: 500px;
  15.                 background: #333;
  16.                 padding: 20px;
  17.                 height: 2000px;
  18.         }
  19.         #sideBar{
  20.                 position: fixed;
  21.                 top: 0px;
  22.                 padding: 20px;
  23.                 float: left;
  24.                 width: 300px;
  25.                 background-color: #369;
  26.         }
  27. </style>
复制代码
关键的是 #sideBar 的position必须是 fixed,这样就可以永久置顶了。

可是 #sideBar 是相对于 #bigContainer 的最右边位置来设置 position 的,在 CSS 中,并没有同时相对两个不同的 container 的设置方案,所以我们需要用到 JavaScript ,来协助我们完整这方面的设置。

2. 准备好 jQuery ,这是一个很强大的 JavaScript 框架,可以帮助我们快速编写 JavaScript 代码。
  1. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
复制代码
3. 然后,在 body 前的 JavaScript 部分这样设置 #sideBar 的内容。
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.         $('#sideBar').offset({left: $('#bigContainer').offset().left + 540});
  4. });
  5. </script>
复制代码
恭喜你,仿 Facebook 固定位置的浮动广告功能完成啦!

完整代码如下:

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta http-equiv="keywords" content="侧边栏, 浮动, Facebook, 固定位置"/>
  6. <meta http-equiv="description" content="本文介绍固定浏览器位置,又相对 Container 的侧边栏的制作"/>
  7. <meta property="og:description" content="本文介绍固定浏览器位置,又相对 Container 的侧边栏"/>
  8. <title>类似Facebook的固定浮动广告位效果,最精简的代码 - 磨菇科技 | MoguTech</title>
  9. <style>
  10.         body{
  11.                 margin: 0px;
  12.         }
  13.         a{
  14.                 color: #09F;
  15.         }
  16.         #bigContainer{
  17.                 width: 900px;
  18.                 margin-left: auto;
  19.                 margin-right: auto;
  20.                 background-color: #999;
  21.                 color: #eee;
  22.         }
  23.         #content{
  24.                 float: left;
  25.                 width: 500px;
  26.                 background: #333;
  27.                 padding: 20px;
  28.                 height: 2000px;
  29.         }
  30.         #sideBar{
  31.                 position: fixed;
  32.                 top: 0px;
  33.                 padding: 20px;
  34.                 float: left;
  35.                 width: 300px;
  36.                 background-color: #369;
  37.         }
  38. </style>
  39. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  40. <script type="text/javascript">
  41. $(document).ready(function(){
  42.         $('#sideBar').offset({left: $('#bigContainer').offset().left + 540});
  43. });
  44. </script>
  45. </head>
  46. <body>
  47. <div id="bigContainer">
  48.         <div id="content">
  49.           <p>这里介绍 sideBarFloat 的制作</p>
  50.       <p>1. 先完成简单 Style</p>
  51.       <textarea disabled="true" cols="60" rows="27"><style>
  52.         body{
  53.                 margin: 0px;
  54.         }
  55.         #bigContainer{
  56.                 width: 900px;
  57.                 margin-left: auto;
  58.                 margin-right: auto;
  59.                 background-color: #999;
  60.                 color: #efd;
  61.         }
  62.         #content{
  63.                 float: left;
  64.                 width: 500px;
  65.                 background: #333;
  66.                 padding: 20px;
  67.                 height: 2000px;
  68.         }
  69.         #sideBar{
  70.                 position: fixed;
  71.                 top: 0px;
  72.                 padding: 20px;
  73.                 float: left;
  74.                 width: 300px;
  75.                 background-color: #369;
  76.         }
  77. </style></textarea>
  78.           <p>关键的是 #sideBar 的<a  target="_blank">position</a>必须是 fixed,这样就可以永久置顶了。</p>
  79.       <p>可是 #sideBar 是相对于 #bigContainer 的最右边位置来设置 position 的,在 CSS 中,并没有同时相对两个不同的 container 的设置方案,所以我们需要用到 JavaScript ,来协助我们完整这方面的设置。</p>
  80.       <p>2. 准备好 jQuery ,这是一个很强大的 JavaScript 框架,可以帮助我们快速编写 JavaScript 代码。</p>
  81.       <textarea disabled="true" cols="60" rows="3"><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script></textarea>
  82.       <p>3. 然后,在 body 前的 JavaScript 部分这样设置 #sideBar 的内容。</p>
  83.       <textarea disabled="true" cols="60" rows="6"><script type="text/javascript">
  84. $(document).ready(function(){
  85.         $('#sideBar').offset({left: $('#bigContainer').offset().left + 540});
  86. });
  87. </script></textarea>
  88.           <p>恭喜你,仿 Facebook 固定位置的浮动广告功能完成啦!</p>
  89.         </div>
  90.   <div id="sideBar">这里是 #sideBar 的内容。</div>
  91. </div>
  92. </body>
  93. </html>
复制代码
星辰伴月 发表于 2013-4-27 23:16:19 | 显示全部楼层
不错 收藏了!
回复

使用道具 举报

Discuz耀 发表于 2014-6-20 11:42:54 | 显示全部楼层
不错支持一下。很牛逼。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-29 03:34 , Processed in 1.260877 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表