滑动门出现的背景

制作网页时,为了美观,常常需要为网页元素设置特殊形状的背景,比如微信导航栏,有凸起和凹下去的感觉,最大的问题是里面的字数不一样多,咋办?

为了使各种特殊形状的背景能够自适应元素中文本内容的多少,出现了CSS滑动门技术。它从新的角度构建页面,使各种特殊形状的背景能够自由拉伸滑动,以适应元素内部的文本内容,可用性更强。 最常见于各种导航栏的滑动门。

核心技术

核心技术就是利用CSS精灵(主要是背景位置)和盒子padding撑开宽度, 以便能适应不同字数的导航栏。

一般的经典布局都是这样的:

  1. <li>
  2. <a href="#">
  3. <span>导航栏内容</span>
  4. </a>
  5. </li>
  1. * {
  2. padding:0; margin:0; }
  3. body{ background: url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/3S9sFMD.jpg) repeat-x;
  4. }
  5. .father {
  6. padding-top:20px;
  7. }
  8. li {
  9. padding-left: 16px;
  10. height: 33px; float: left; line-height: 33px;
  11. margin:0 10px;
  12. background: url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/lTcb_ve.png) no-repeat left ;
  13. }
  14. a {
  15. padding-right: 16px;
  16. height: 33px; display: inline-block;
  17. color:#fff;
  18. background: url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/lTcb_ve.png) no-repeat right ;
  19. text-decoration: none;
  20. }
  21. li:hover, li:hover a {
  22. background-image:url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/3w4CwHw.png);
  23. }

总结:

  1. a 设置 背景左侧,padding撑开合适宽度。
  2. span 设置背景右侧, padding撑开合适宽度 剩下由文字继续撑开宽度。
  3. 之所以a包含span就是因为 整个导航都是可以点击的。

仿微信导航栏

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. <style type="text/css">
  7. * {
  8. margin: 0;
  9. padding: 0;
  10. }
  11. ul {
  12. list-style: none;
  13. }
  14. body {
  15. background: url(images/wx.jpg) repeat-x;
  16. }
  17. .nav {
  18. height: 75px;
  19. }
  20. .nav li {
  21. float: left;
  22. margin: 0 10px;
  23. padding-top: 21px;
  24. }
  25. .nav li a {
  26. display: block;
  27. background: url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/lTcb_ve.png) no-repeat;
  28. color: #fff;
  29. font-size: 14px;
  30. line-height: 33px;
  31. padding-left: 15px;
  32. text-decoration: none;
  33. }
  34. .nav li a:hover {
  35. background-image: url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/3w4CwHw.png);
  36. }
  37. .nav li a:hover span {
  38. /* 鼠标经过a a里面的span 也要变换背景 */
  39. background-image: url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/3w4CwHw.png);
  40. }
  41. .nav li a span {
  42. display: block;
  43. line-height: 33px;
  44. background: url(https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/lTcb_ve.png) no-repeat right center;
  45. padding-right: 15px;
  46. }
  47. </style>
  48. </head>
  49. <body>
  50. <div class="nav">
  51. <ul>
  52. <li>
  53. <a href="#">
  54. <span>首页</span>
  55. </a>
  56. </li>
  57. <li>
  58. <a href="#">
  59. <span>帮助与反馈</span>
  60. </a>
  61. </li>
  62. <li>
  63. <a href="#">
  64. <span>公众平台</span>
  65. </a>
  66. </li>
  67. <li>
  68. <a href="#">
  69. <span>开发平台</span>
  70. </a>
  71. </li>
  72. <li>
  73. <a href="#">
  74. <span>表情开发平台</span>
  75. </a>
  76. </li>
  77. </ul>
  78. </div>
  79. </body>
  80. </html>

注:滑动门技术的关键在于不要给中间的盒子指定宽度,其宽度由内部的内容撑开。

更多相关文章

  1. 北京地铁赵炜:《网络安全审查办法》背景下地铁系统网络安全建设的
  2. vs设置背景图片
  3. 使用原生 js 实现选项卡、一键更换背景图片、图片懒加载和轮播图
  4. 顶级在线设计工具收藏
  5. button的一些使用小常识(点击效果,button圆角,边框线的实现)
  6. Activity作为dialog展示,如何添加自定义圆角背景
  7. 浅谈关于listview和button控件的背景
  8. [Android开发] 代码code设置9.png/9-patch 图片背景后,此view中的
  9. android selector 背景选择器的使用, button (未点击,点击,选中保持

随机推荐

  1. jQuery在元素内部检测mousedown,然后在元
  2. Jquery实现表格行的添加、删除
  3. 在Access中利用Jquery技术实现专业的界面
  4. 如何使用特定样式获取jquery中的第一个和
  5. jQuery插件制作备忘
  6. Jquery插件Thickbox的使用总结及自定义设
  7. 如何在更新面板刷新之后运行一些javascri
  8. 新手怎么学习jQuery快成
  9. 优秀js开源框架-jQuery使用手册(6)
  10. jquery常用代码片段