详解使用CSS固定页面背景图片位置的方法

蛮常见到有人问说,要如何才能让背景图片不管卷轴拉到那边都不会变?这其实只要透过设定 background-attachment 就能达到该效果了。

Body其实并不用做任何设定,这边我为了让网页有卷轴,所以在pre包起一段话:
 HTML

XML/HTML Code复制内容到剪贴板
  1. <body>  
  2. <pre>  
  3. 欢   
  4.     
  5. 迎   
  6.     
  7. 来   
  8.     
  9. 到   
  10.     
  11. 脚   
  12.     
  13. 本   
  14.     
  15. 之   
  16.     
  17. 家   
  18.     
  19. ,   
  20.     
  21. 若   
  22.     
  23. 有   
  24.     
  25. 任   
  26.     
  27. 何   
  28.     
  29. 问   
  30.     
  31. 题   
  32.     
  33. 还   
  34.     
  35. 请   
  36.     
  37. 多   
  38.     
  39. 留   
  40.     
  41. 言   
  42.     
  43. 指   
  44.     
  45. 教   
  46.     
  47. 了   
  48. </pre >  
  49. </body>  

接着来看CSS中的语法:
 CSS

CSS Code复制内容到剪贴板
  1. body{   
  2.  /* 设定背景图片 */  
  3.  background-image:url("sakuya_and_remi.jpg");   
  4.  /* 让图片不重覆排列 */  
  5.  background-repeat:no-repeat;   
  6.  /* 固定背景图片位置 */  
  7.  background-attachment:fixed;   
  8. }  

只要把 background-attachment 设成 fixed 就能固定背景图片了。若是要取消固定的话,只要把 background-attachment 拿掉或是设成 none 就行了。而其中的 background-repeat 设成 no-repeat 是避免当背景图片太小张时,让它不要重覆的显示。

还有另一种常见的情况是,背景图片本身就只是小小张的,但想让它固定在网页的某一位置的话,我们除了用 background-attachment 之外,还要搭配 background-position 来一起使用。

Body一样不变,直接看CSS的部份:
 CSS

CSS Code复制内容到剪贴板
  1. body{   
  2.  /* 设定背景图片 */  
  3.  background-image:url("logo.gif");   
  4.  /* 让图片不重覆排列 */  
  5.  background-repeat:no-repeat;   
  6.  /* 固定背景图片位置 */  
  7.  background-attachment:fixed;   
  8.  /* 设定背景图片在右下角 */  
  9.  background-position:rightright bottombottom;   
  10. }  

background-position 值的设定可用数字加单位、数字加百分比或是使用关键字。background-position 基本上需要两各值,第一个是距离左边界的值,另一个则是距离上边界的值。但是若是要在中间的话,可以设一个 center 就可以了,另一个若没有的话,会自动认为也是 center。

background-position 位置的相对关系可以参考下面的图解。
2016517121133823.gif (280×280)

怎样~是不是很简单呢!