CSS中背景图片的定位,困扰我很久了。今天总算搞懂了,一定要记下来。
在CSS中,背景图片的定位方法有3种:
1)关键字:background-position: top left;
2)像素:background-position: 0px 0px;
3)百分比:background-position: 0% 0%;
上面这三句语句,都将图片定位在背景的左上角,表面上看效果是一样的,实际上第三种定位机制与前两种完全不同。
前两种定位,都是将背景图片左上角的原点,放置在规定的位置。请看下面这张图,规定的位置是"20px 10px"和"60px 50px",都是图片的原点在那个位置上,图中用X表示。
但是第三种定位,也就是百分比定位,不是这样。它的放置规则是,图片本身(x%,y%)的那个点,与背景区域的(x%,y%)的那个点重合。
比如,如果放置位置是"20% 10%",实际结果如下图,可以看到这个点是在图片本身的"20% 10%"的位置上。
下面是一个有趣的例子。
背景图片是四个边长为100px的方块叠在一起:
请问怎样才能将其横过来:
答案是,在网页中先设置四个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
分享到:
相关推荐
CSS控制图片背景自适应大小
非常常用的纵向展开层菜单,完全由CSS控制。 可通过CSS修改背景图片来达到效果的更换。
主要介绍了css控制背景示例,这里提供了css设置背景图片、设置背景颜色的方法,需要的朋友可以参考下
纯CSS控制DIV背景透明效果,没有什么好解释的,代码全在文件里面,直接预览或者用记事本打开即可。rgba参数(red,green.,blue,alpha),alpha值0-1 ie滤镜参数#3363370b,前两位为16进制透明度, 比如说值是上面用到的...
css制作的背景滑动变换的导航菜单特效,主要通过css控制背景图片的定位,在html5的浏览器下效果会展示的很有动感。
css 背景图片圆角 文字自适应.doc css实现图片自适应.doc 单张背景图片实现css圆角菜单.doc
使用css来设置背景图片同传统的做法一样简单,但相对于传统控制方式,css提供了更多的可控选项,我们先来看看最基本的设置图片的方法。xhtml代码: 复制代码代码如下:”content”> </div> css代码: 复制代码代码...
对于图片,首先我们先想到是背景图片。因为我们许许多的装饰都是用背景图片来实现的。既然这样,那么就从CSS控制背景图片讲起吧。
这是一款纯CSS3实现的全屏背景图片缩小渐变切换效果源码,页面的背景图可呈现定时渐变与切换效果。渐变大小缩放效果流畅自然,采用纯css3技术控制切换效果。建议使用支持css3效果较好的火狐或谷歌等浏览器预览本源码...
CSS+JS控制鼠标滑向表格变换背景图片代码CSS+JS控制鼠标滑向表格变换背景图片代码
根据image大小来控制图片是否缩放。不用担心图片自动拉伸。缩小
借助最新的html代码,漂亮的CSS样式和jquery代码,我们设计一个幻灯片样式的图片切换效果,在切换的同时,背景大图片也会跟着做切换(图片适应不同分辨率的浏览器,始终保持全屏背景)。 同时,支持键盘快捷键,...
就是用来控制背景图片的显示的。所以一般用作背景图片的有2类: 1.是一整张大图,尺寸和区域大小刚好吻合 2.一个很小的条状图,通过repeat后,形成一个很规则的大图背景。 但是css3出现以后,这个情况被改善了。...
5.2 背景图片 5.2.1 页面的背景图 5.2.2 背景图的重复 5.2.3 背景图片的位置 5.2.4 固定背景图片 5.2.5 添加多个背景图片 5.2.6 背景样式综合设置 5.3 背景综合一:我的个人主页
这是一款使用纯CSS3制作的带淡入淡出效果的滚动视觉差特效。该视觉差特效在页面加载时,图片有淡入淡出的效果。当页面滚动时,背景图片会有非常炫酷的视觉差效果。
2、如果图片是背景图片,可以在css中设置背景图片,然后设置文字的padding属性;3、把文字和图片分别放入不同的div中。上面三种方法都可以让图片和文字在同一行显示,下面我们用实例来应用一下。 1、在css中给div...
什么是CSS? CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称。 CSS 是一种标记语言,属于浏览器解释型语言,可以...background-clip(指定背景图片从什么位置开始裁切) background(为一个元素指定多个背景)
有个朋友在weibo上问我可不可以用JS和CSS让页面每次刷新随机产生一张背景图,当然是可以的。具体的方法看下面的实现代码吧
5.6.2 背景颜色和背景图片的层叠 5.6.3 背景属性在内联元素中的使用 5.6.4 背景属性的缩写 5.6.5 页面文本的样式 5.6.6 链接的样式 5.7 布局的基础 5.7.1 布局页面的步骤 5.7.2 使用ID 还是Class 5.7.3 控制内容显示...
css实现body背景图全屏不论分辨率大小的情况下,只要控制img 的z-index为-1即可,具体实现如下,需要的朋友可以参考下,希望对大家有所帮助