前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS中背景图片定位方法

CSS中背景图片定位方法

作者头像
ruanyf
发布2018-09-10 16:59:44
1.9K0
发布2018-09-10 16:59:44
举报

CSS中背景图片的定位,困扰我很久了。今天总算搞懂了,一定要记下来。

在CSS中,背景图片的定位方法有3种:

  1)关键字:background-position: top left;   2)像素:background-position: 0px 0px;   3)百分比:background-position: 0% 0%;

上面这三句语句,都将图片定位在背景的左上角,表面上看效果是一样的,实际上第三种定位机制与前两种完全不同。

前两种定位,都是将背景图片左上角的原点,放置在规定的位置。请看下面这张图,规定的位置是"20px 10px"和"60px 50px",都是图片的原点在那个位置上,图中用X表示。

bg2008050701.png
bg2008050701.png

但是第三种定位,也就是百分比定位,不是这样。它的放置规则是,图片本身(x%,y%)的那个点,与背景区域的(x%,y%)的那个点重合。比如,如果放置位置是"20% 10%",实际结果如下图,可以看到这个点是在图片本身的"20% 10%"的位置上。

bg2008050702.gif
bg2008050702.gif

下面是一个有趣的例子。

背景图片是四个边长为100px的方块叠在一起:

bg2008050703.png
bg2008050703.png

请问怎样才能将其横过来:

bg2008050704.png
bg2008050704.png

答案是,在网页中先设置四个div区域:

<div class="box1"> </div> <div class="box2""> </div> <div class="box3"> </div> <div class="box4"> </div>

然后,这样编写CSS:

.box1, .box2, .box3, .box4 {   float:left;   width:100px;   height:100px;   position:relative;   background: #F3F2E2 url(1234.png) no-repeat; } .box1 {   background-position:0% 0%; } .box2 {   background-position:0% 33.33333%; } .box3 {   background-position:0% 66.66666%; } .box4 {   background-position:0% 100%; }

点击这里查看最后的效果。可以看到第二和第三个方块的设置,并不是一般想象中的"0% 25%"和"0% 75%"。

不过说实话,这个例子用像素设置法更容易一些。使用百分比设置的主要优势在于,当页面缩放的时候,背景图片也会跟着一起缩放,具体请参考下面"延伸阅读"中的第二篇文章。

[延伸阅读]

1. CSS: Using Percentages in Background-Image

2. Creating Liquid Faux Columns

(完)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008年5月 7日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档