(转)HTML&CSS——background: url() no-repeat 0 -64px;CSS中背景图片定位方法
2017-03-26 16:49
971 查看
http://blog.csdn.net/oscar92420aaa/article/details/51304067
CSS中背景图片的定位,困扰我很久了。今天总算搞懂了,一定要记下来。
在CSS中,背景图片的定位方法有3种:
1)关键字:background-position: top left;
2)像素:background-position: 0px 0px;
3)百分比:background-position: 0% 0%;
上面这三句语句,都将图片定位在背景的左上角,表面上看效果是一样的,实际上第三种定位机制与前两种完全不同。
前两种定位,都是将背景图片左上角的原点,放置在规定的位置。请看下面这张图,规定的位置是"20px 10px"和"60px 50px",都是图片的原点在那个位置上,图中用X表示。
![](http://www.ruanyifeng.com/blog/2008/05/bg2008050701.png)
但是第三种定位,也就是百分比定位,不是这样。它的放置规则是,图片本身(x%,y%)的那个点,与背景区域的(x%,y%)的那个点重合。比如,如果放置位置是"20% 10%",实际结果如下图,可以看到这个点是在图片本身的"20% 10%"的位置上。
![](http://www.ruanyifeng.com/blog/2008/05/bg2008050702.gif)
下面是一个有趣的例子。
背景图片是四个边长为100px的方块叠在一起:
![](http://www.ruanyifeng.com/blog/2008/05/bg2008050703.png)
请问怎样才能将其横过来:
![](http://www.ruanyifeng.com/blog/2008/05/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%"。
不过说实话,这个例子用像素设置法更容易一些。使用百分比设置的主要优势在于,当页面缩放的时候,背景图片也会跟着一起缩放,具体请参考下面"延伸阅读"中的第二篇文章。
CSS中背景图片的定位,困扰我很久了。今天总算搞懂了,一定要记下来。
在CSS中,背景图片的定位方法有3种:
1)关键字:background-position: top left;
2)像素:background-position: 0px 0px;
3)百分比:background-position: 0% 0%;
上面这三句语句,都将图片定位在背景的左上角,表面上看效果是一样的,实际上第三种定位机制与前两种完全不同。
前两种定位,都是将背景图片左上角的原点,放置在规定的位置。请看下面这张图,规定的位置是"20px 10px"和"60px 50px",都是图片的原点在那个位置上,图中用X表示。
![](http://www.ruanyifeng.com/blog/2008/05/bg2008050701.png)
但是第三种定位,也就是百分比定位,不是这样。它的放置规则是,图片本身(x%,y%)的那个点,与背景区域的(x%,y%)的那个点重合。比如,如果放置位置是"20% 10%",实际结果如下图,可以看到这个点是在图片本身的"20% 10%"的位置上。
![](http://www.ruanyifeng.com/blog/2008/05/bg2008050702.gif)
下面是一个有趣的例子。
背景图片是四个边长为100px的方块叠在一起:
![](http://www.ruanyifeng.com/blog/2008/05/bg2008050703.png)
请问怎样才能将其横过来:
![](http://www.ruanyifeng.com/blog/2008/05/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%"。
不过说实话,这个例子用像素设置法更容易一些。使用百分比设置的主要优势在于,当页面缩放的时候,背景图片也会跟着一起缩放,具体请参考下面"延伸阅读"中的第二篇文章。
相关文章推荐
- HTML&CSS——background: url() no-repeat 0 -64px;CSS中背景图片定位方法
- HTML&CSS——CSS中背景background-position负值定位深入理解[图文]
- HTML&CSS——css中设定的背景图片无法显示的解决方法
- Html+Css CSS中背景图片定位方法
- HTML&CSS——对背景图定位中background-position属性的自我理解
- HTML&CSS——利用CSS定位背景图片 background-position
- jquery设置背景图片:$(this).css("background-image","url(on.jpg)");就可以了
- CSS背景图片的定位background-position的问题
- CSS中背景图片定位方法
- css background-position percentage 背景图片百分比定位
- CSS中背景图片的属性:background-repeat、background-position、background-size
- div+css使用backgroundRepeat样式设置背景图片的显示方式
- css 背景图片宽度100% 高度延y轴重复repeat-y方法
- CSS背景图片定位(background-position,css sprit,背景定位,background-imag
- CSS常用背景图片定位方法
- html/css教程:背景图片的定位问题详解
- 【学习摘记】马士兵HTML & CSS_课时2_链接到页面的某个具体位置、背景图片与引用路径
- CSS中背景图片定位方法
- CSS中背景图片定位方法
- css 背景图片宽度100% 高度延y轴重复repeat-y方法