relative 和 absolute 元素的百分比定位

栏目: Html · 发布时间: 5年前

内容简介:有人住高楼,有人在深沟,有人光万丈,有人一身锈,世人万千种,浮云莫去求,斯人若彩虹,遇上方知有。——电影《怦然心动》

有人住高楼,有人在深沟,有人光万丈,有人一身锈,

世人万千种,浮云莫去求,斯人若彩虹,遇上方知有。

——电影《怦然心动》

relative / absolute 元素都支持 top / right / bottom / left 属性定位。

relative 元素是相对自身定位的;absolute 元素是相对于最近的 position 属性值不是 static (也就是 fixed , absolute , relativesticky )的祖先元素定位的。

下面看图说话(图中的两个内部元素同时设置了 left: 0 )。

零、left: 0

relative 和 absolute 元素的百分比定位

注意

relative 元素是相对包含块(containing block)的 content box 区域定位的;absolute 元素是相对包含块的 padding box 区域定位的。

为了方便,图中的两个外部元素(即 static 和 relative)没有设置 padding 值。

假设外部元素有 padding: 20px 的设置。当对内部两个元素同时设置 left: 0 后,效果是这样的。

relative 和 absolute 元素的百分比定位

再次提醒一下,为了方便,本篇文章中两个外部元素没有设置 padding 值。

下面同时给内部(即有红色边框的)元素设置相同的 top / right / bottom / left 百分比值查看效果。

一、left: 50%

relative 和 absolute 元素的百分比定位

效果看起来是一样的,元素向左偏移了半个包含块的宽度,但本质是:

第一个:元素相对原来的位置(虚线矩形框)向左偏移半个包含块宽度(准确说是 content box width/2 的距离)。

第二个:元素定位在距离包含块左边缘 50% 的距离,这个 50% 就是半个包含块宽度(准确说是 padding box width/2 的距离)。

二、top: 50%

relative 和 absolute 元素的百分比定位

与上面同理。

三、right: 50%/right: 100%

relative 和 absolute 元素的百分比定位

啊哈,现在能看出区别了吧。

relative 元素是相对自身向右偏移 50% 距离的;absolute 则表示元素距离包含块右边缘 50% 的距离。

下面是设置 right: 100% 的情况。

relative 和 absolute 元素的百分比定位

四、bottom: 50%/bottom: 100%

relative 和 absolute 元素的百分比定位

再来看看 bottom: 100% 的情况。

relative 和 absolute 元素的百分比定位

本篇文章使用的例子代码在这里查看。


以上所述就是小编给大家介绍的《relative 和 absolute 元素的百分比定位》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++ Primer 中文版(第 5 版)

C++ Primer 中文版(第 5 版)

[美] Stanley B. Lippman、[美] Josée Lajoie、[美] Barbara E. Moo / 王刚、杨巨峰 / 电子工业出版社 / 2013-9-1 / CNY 128.00

这本久负盛名的 C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人 Josée Lajoie 对C++标准的深入理解,以及C++ 先驱 Barbara E. Moo 在 C++教学方面的真知灼见外,更是基于全新的 C++11标准进行了全面而彻底的内容更新。......一起来看看 《C++ Primer 中文版(第 5 版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换