CSS 中背景图片定位

今天在弄一个 JavaScript 动画效果, 需要处理 CSS 中的 background-position. 想试一下我陌生的百分比处理方式, 发现了一个不错的文章, CSS: Using Percentages in Background-Image . 稍整理了一下...

1. 关键字, 例如: background-position: top right;

优点: 直观, 可用性高, 各浏览器中表现一致.
缺点: 缺少间隔尺寸. 三个垂直的 (top, center, bottom) 和三个水平的 (left, center, right) 只能为你组合出最多 9 个位置. 不存在其他混式的组合. 并且很难像其他两种数值定位方法一样使用算数进行控制.

2. 像素, 例如: background-position: 0px 0px;

优点: 概念容易被理解, 只要知道如何测量容器左上角和图片左上角之间的距离, 就能准确地推测出图片显示的位置. 像素还能够精确的用数学来控制定位.
缺点: 你必须知道确实的值.
原理, 如图. 其实就是图片左上角相对于容器左上角的坐标关系.
Pixels

3. 百分比, 例如: background-position: 80% 50%;

优点: 可以使用数学来控制定位, 并且比像素定位更加灵活.
缺点: IE 中无法处理复杂的百分比定位. 你可以看看这个测试.
原理, 如图. 与像素定位不同, 它的百分比位置是指容器和图片内部的相应位置作为显示的位置.
Percentages

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: CSS 中背景图片定位
  1. 锐风 | #1
    2008-09-22 09:37

    无语.. 这里还有沙发..

  2. 锐风 | #2
    2008-09-22 09:37

    图片很帅..

    其实这东西米难度, 一点都米难度.
    自己体会就是了.

  3. Patrick | #3
    2008-09-22 13:17

    哇,终于等到你回来了 :smile:
    有两件事请教:
    1、你的侧边栏Most Active Guys这个功能使用的插件可不可以发给我一个啊?我用的是Blocks的主题,也很想使用这个插件
    2、那个侧边栏日志分类如何实现鼠标放上以后子分类自动显示的,可以指点一下么?
    谢谢!

  4. mg12 | #4
    2008-09-22 19:27

    @Patrick
    1. 可以的. 请查阅你的邮箱...
    2. 这个我已经写过教程了, 请看: http://www.neoease.com/wordpress-menubar-4/

  5. Patrick | #5
    2008-09-22 21:13

    mg12 :@Patrick1. 可以的. 请查阅你的邮箱...2. 这个我已经写过教程了, 请看: http://www.neoease.com/wordpress-menubar-4/

    插件我已经用上,调用是这样的《?php wp_mostactives('limit=5&avatar=true'); ?》
    但是点击lazy按钮为什么它不会翻页呢?

  6. ZH CEXO | #6
    2008-09-22 21:29

    写得不错~转转~

  7. mg12 | #7
    2008-09-23 00:17

    @Patrick
    Sorry, 我发了老版本的给你. 现在给你个最新的, 请查收邮箱附件.

  8. Patrick | #8
    2008-09-23 12:10

    mg12 :@PatrickSorry, 我发了老版本的给你. 现在给你个最新的, 请查收邮箱附件.

    呵呵,昨晚鼓捣半天,我还以为是我的博客问题呢 :sad:
    已经用上新的,一切正常,再次表示感谢!~~

  9. JAY | #9
    2008-09-23 23:40

    图很有爱~

  10. JAY | #10
    2008-09-23 23:42

    JAY :
    图很有爱~
    Click to Edit  (4 minutes and 6 seconds)

    貌似Quote功能有点问题,这个会把AjaxEditComments的代码也Quote出来。

  11. mg12 | #11
    2008-09-24 00:11

    @JAY
    貌似插件 WP Ajax Edit Comments 是将按钮直接放在评论内容内.
    暂时不用这插件吧, 呵呵~
    谢谢呢~

  12. Leeiio | #12
    2008-09-24 15:09

    学习了,关于背景的css属性我一般只用到no-repeat哈。

  13. 凯尔 | #13
    2008-09-25 13:52

    JAY :
    图很有爱~

    +1

    百分比还是用得比较少,一般情况我不愿意看到图片自己的缩放,这样经常会看到不期望的锯齿。但是如果是做自适应分辨率的主题,可能会比较有用。

  14. 凯尔 | #14
    2008-09-25 13:53

    用了Quote,最好在Recent Comments里面将Quote屏蔽。

  15. 凯尔 | #15
    2008-09-25 13:54

    呀呀,顶部的Search切换很有爱啊~~

  16. mg12 | #16
    2008-09-25 22:16

    @凯尔
    嗯, 我也想过屏蔽 Quote, 以后可能会加个参数.

  17. 智由自在 | #17
    2010-07-07 01:04

    学习学习。

  1. NeoEase » 为什么将多个图标放在一个图片里?
    2008-10-24 12:49
  2. 剖析各大网站常用CSS图片技术—-CSS sprites « 爱上梁坤,爱上你
    2010-05-13 12:20
  3. Warren World 执着与偏激 » 为什么CSS要将多个图标放在一个图片里?
    2010-05-26 16:22

Twitter Email feed
RSS feed