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](http://www.ruanyifeng.com/blog/2008/05/bg2008050701.png)
但是第三种定位,也就是百分比定位,不是这样。它的放置规则是,图片本身(x%,y%)的那个点,与背景区域的(x%,y%)的那个点重合。比如,如果放置位置是"20% 10%",实际结果如下图,可以看到这个点是在图片本身的"20% 10%"的位置上。
![bg2008050702.gif](http://www.ruanyifeng.com/blog/2008/05/bg2008050702.gif)
下面是一个有趣的例子。
背景图片是四个边长为100px的方块叠在一起:
![bg2008050703.png](http://www.ruanyifeng.com/blog/2008/05/bg2008050703.png)
请问怎样才能将其横过来:
![bg2008050704.png](http://www.ruanyifeng.com/blog/2008/05/bg2008050704.png)
答案是,在网页中先设置四个div区域:
div
/div
div "
/div
div
/div
div
/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 定位是 Web 开发中非常重要的概念之一,它可以帮助我们准确地定位和布局 HTML 元素。在本文中,我们将介绍 CSS 中常用的三种定位方式:静态定位、相对定位和绝对定位。
CSS定位布局详解 CSS定位使你可以将一个元素精确地放在页面上指定的地方。联合使用定位和浮动,能够创建多种高级而精确的布局。其中,定位布局共有4种方式。固定定位(fixed)。相对定位(relative)。绝对定位(absolute)。静态定位(static)
css中常见的五种定位方法 CSS中的定位 在页面布局中,我们经常会对一些盒子调整位置,普通的浮动或者一些其他方法,但是这些方法要么达不到我们想要的效果要么就是实现起来太复杂了。 今天我们要讲到的定位就可以很好的解决这个问题。
阮一峰 阿里技术专家。著名技术博客作者,技术方向为 React + Node,自由软件运动的支持者
相关文章
- python的环境变量的设置,安装库的两种方法,pycharm解释器设置字体大小,在DOS下运行python,无法定位动态库「建议收藏」
- 高速场景下自动驾驶车辆定位方法综述
- 【前端就业课 第二阶段】CSS 零基础到实战(04)定位
- CLLocation定位
- 问题定位记录
- 方法论:在不是太懂源码的情况下,我是怎么定位源码问题的?
- 【Android 逆向】Android 逆向基本概念 ( 定位内存中的修改点 | 基址寻址法 | 搜索定位法 )
- 苹果升级查找功能即便iOS设备已经关机或恢复出厂设置也可以继续被定位
- 环境下网络故障定位 Linux Bond 1环境下网络故障定位方法研究(linuxbond1)
- “Linux查找命令全攻略:快速定位关键信息”(linux中的查找命令)
- 罪魁查找 Linux 下段错误的罪魁!(linux定位段错误的是)
- 使用MySQL定位昨天日期的方法(mysql昨天日期)
- Linux如何定位并修改特定行的文件内容?(linux文件指定行)
- Linux文件快速定位:让你只用一条命令就可以找到它们(linux文件定位命令)
- MySQL无法定位(问题错误)的解决方法(mysql不能定位)
- 解决MySQL定位问题简单易用的方法汇总(mysql不能定位)
- Redis缓存配合索引,加快数据定位速度(redis缓存加索引)
- 深度干货:详解基于视觉+惯性传感器的空间定位方法 | 雷锋网公开课
- 简单的加密css地址防止别人下载你的CSS文件的方法
- jquery定位input元素的几种方法小结
- MySQL重定位数据目录的方法