CSS之页面布局之四(绝对布局)
来源:互联网 发布:三国正史武将排名 知乎 编辑:程序博客网 时间:2024/06/06 20:40
绝对布局(Absolute Layout)就是指定元素的position属性为absloute,元素被指定为绝对定位后,浏览器会将其从流中删除。
与浮动布局不同(请参照前面的博文《CSS之页面布局之一(浮动布局) 》),浮动布局中浮动起来的元素,只是“半删除”。即对HTML端的块元素来说浮动起来的元素仿佛从流中被删除了。但对HTML端的内联元素来说浮动起来的元素仍旧存在。
绝对布局就不是“半删除”了,而是从HTML流中彻底删除该元素。被删除的元素和原始HTML流中其他元素,处于不同层面,这就产生了分层的概念。
实现方式:CSS端为元素的position属性设成absolute,并指定top,right,width等属性(即告诉浏览器窗口在何处显示该元素)
CSS端为<p id="absoluteLayout">设置position,top,right,width:
#absoluteLayout {position: absolute; //绝对定位top: 100px;right: 200px;width: 280px;}
如上图中,黄色框的<p>元素,与其他元素处于不同的层面上。页面可以有多个分层,每个分层都有个z-index属性,值越大越靠近你通过z-index来控制显示哪个层。因此如果想隐藏绝对定位的元素,只需要将该元素的z-index设为负数即可。
绝对定位的元素很可能会覆盖不想被覆盖的区域。而此时你无法像浮动布局(请参照前面的博文《CSS之页面布局之一(浮动布局) 》)那样指定clear属性,因为流中元素完全不知道绝对定位元素的存在。
absolute导致分层后,那该元素显示的位置该如何确定呢?即该元素该依据哪个定位点来定位?分两种情况:
1.该元素的parent元素也设置了position的ababsolute或relative,那该元素的定位点就是其parent元素左上角(准确地说是parent元素的padding的左上角,非margin的左上角)
2.除情况1外,该元素的定位点就是浏览器窗口左上角(即body的左上角),此时效果和设成fixed是相同的。因此fixed可以认为是一种特殊的absolute
PS:
position除了absolute还有:
position:static默认值,元素默认都是static,即元素在正常的流中
position:fixed是固定定位,相对于浏览器窗口进行定位,一旦用固定定位它就永远留在了该位置,即使鼠标滚动,它也原地不动。你可以这样理解:fixed是特殊的absolute,即fixed总是以body为定位对象的。
position:relative与绝对定位类似,只是它仍旧在页面流中(还在它本来的位置上),然后根据你指定的top,left,right,bottom来相对于其本来应该处于的位置进行偏移。
- CSS之页面布局之四(绝对布局)
- CSS之页面布局之二(冻结布局)
- CSS之页面布局之三(凝胶布局)
- CSS之页面布局之五(表格布局)完结
- 页面布局之CSS.DIV
- Div+CSS布局入门教程(四) 页面顶部制作之二
- CSS之页面布局之一(浮动布局)
- CSS页面布局技巧(四)
- Android学习(十四)五布局之绝对布局AbsoluteLayout
- 五布局之绝对布局AbsoluteLayout
- CSS布局页面之盒子模型
- java swing 之绝对布局
- Div+CSS布局入门教程之四:页面顶部制作之二
- css布局之格子布局
- 黑马程序员—HTML之页面布局(CSS)
- css 常见页面布局之圣杯布局(margin负值法)
- CSS中的绝对布局
- css之div布局
- nova-compute出错: unable to connect to AMQP server.
- 联合的概念
- 想提高效率,就别再做这些事了
- Log4j配置
- 修改MySQL最大连接数
- CSS之页面布局之四(绝对布局)
- sgu-184 Patties 果然是一道好(shui)题
- 在iptables防火墙下开启vsftpd的端口
- [译] 使用Using Data Quality Services (DQS) 清理用户数据
- cocos2dx3.2 使用SimpleAudioEngine时不能播放音频解决办法(中文路径问题)
- Ubuntu install telnet service
- UIView的使用——如何自定义一个视图
- Photoshop脚本 简介
- 猜数游戏