`
liangchuns
  • 浏览: 4817 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

css控制背景图片方法

阅读更多

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

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

bg2008050702.gif

下面是一个有趣的例子。

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

bg2008050703.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

分享到:
评论

相关推荐

    CSS控制图片背景自适应大小

    CSS控制图片背景自适应大小

    CSS控制背景变换下拉菜单

    非常常用的纵向展开层菜单,完全由CSS控制。 可通过CSS修改背景图片来达到效果的更换。

    css控制背景示例(css设置背景图片、设置背景颜色)

    主要介绍了css控制背景示例,这里提供了css设置背景图片、设置背景颜色的方法,需要的朋友可以参考下

    网页特效 | 纯CSS控制DIV背景透明效果

    纯CSS控制DIV背景透明效果,没有什么好解释的,代码全在文件里面,直接预览或者用记事本打开即可。rgba参数(red,green.,blue,alpha),alpha值0-1 ie滤镜参数#3363370b,前两位为16进制透明度, 比如说值是上面用到的...

    纯css动感背景滑动的导航菜单特效代码

    css制作的背景滑动变换的导航菜单特效,主要通过css控制背景图片的定位,在html5的浏览器下效果会展示的很有动感。

    css控制图片相关

    css 背景图片圆角 文字自适应.doc css实现图片自适应.doc 单张背景图片实现css圆角菜单.doc

    css 背景图片平铺技巧

    使用css来设置背景图片同传统的做法一样简单,但相对于传统控制方式,css提供了更多的可控选项,我们先来看看最基本的设置图片的方法。xhtml代码: 复制代码代码如下:”content”&gt; &lt;/div&gt; css代码: 复制代码代码...

    css背景属性

    对于图片,首先我们先想到是背景图片。因为我们许许多的装饰都是用背景图片来实现的。既然这样,那么就从CSS控制背景图片讲起吧。

    CSS3实现的全屏背景图片缩小渐变切换效果源码.zip

    这是一款纯CSS3实现的全屏背景图片缩小渐变切换效果源码,页面的背景图可呈现定时渐变与切换效果。渐变大小缩放效果流畅自然,采用纯css3技术控制切换效果。建议使用支持css3效果较好的火狐或谷歌等浏览器预览本源码...

    CSS+JS控制鼠标滑向表格变换背景图片代码

    CSS+JS控制鼠标滑向表格变换背景图片代码CSS+JS控制鼠标滑向表格变换背景图片代码

    css控制图片缩放,不担心拉升,变小

    根据image大小来控制图片是否缩放。不用担心图片自动拉伸。缩小

    css3幻灯片按钮控制JS全屏背景图片

    借助最新的html代码,漂亮的CSS样式和jquery代码,我们设计一个幻灯片样式的图片切换效果,在切换的同时,背景大图片也会跟着做切换(图片适应不同分辨率的浏览器,始终保持全屏背景)。 同时,支持键盘快捷键,...

    css 如何让背景图片拉伸填充避免重复显示

    就是用来控制背景图片的显示的。所以一般用作背景图片的有2类: 1.是一整张大图,尺寸和区域大小刚好吻合 2.一个很小的条状图,通过repeat后,形成一个很规则的大图背景。 但是css3出现以后,这个情况被改善了。...

    精通CSS+DIV网页样式与布局全集

    5.2 背景图片 5.2.1 页面的背景图 5.2.2 背景图的重复 5.2.3 背景图片的位置 5.2.4 固定背景图片 5.2.5 添加多个背景图片 5.2.6 背景样式综合设置 5.3 背景综合一:我的个人主页 

    带淡入淡出效果的纯CSS3滚动视觉差特效

    这是一款使用纯CSS3制作的带淡入淡出效果的滚动视觉差特效。该视觉差特效在页面加载时,图片有淡入淡出的效果。当页面滚动时,背景图片会有非常炫酷的视觉差效果。

    CSS控制图片和文字在同一行显示且对齐的3种方法

    2、如果图片是背景图片,可以在css中设置背景图片,然后设置文字的padding属性;3、把文字和图片分别放入不同的div中。上面三种方法都可以让图片和文字在同一行显示,下面我们用实例来应用一下。 1、在css中给div...

    CSS和CSS3思维导图(xmind版)

    什么是CSS? CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称。 CSS 是一种标记语言,属于浏览器解释型语言,可以...background-clip(指定背景图片从什么位置开始裁切)  background(为一个元素指定多个背景)

    使用js操作css实现js改变背景图片示例

    有个朋友在weibo上问我可不可以用JS和CSS让页面每次刷新随机产生一张背景图,当然是可以的。具体的方法看下面的实现代码吧

    div+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背景图全屏不论分辨率大小

    css实现body背景图全屏不论分辨率大小的情况下,只要控制img 的z-index为-1即可,具体实现如下,需要的朋友可以参考下,希望对大家有所帮助

Global site tag (gtag.js) - Google Analytics