CSS属性之absolute
0.脱离标准文档流
绝对定位的元素会脱离标准文档流,拥有z-index属性,并且对于它的任何操作和改变都不会影响它的兄弟元素和父级元素,这里就不过多介绍。
不过值得注意的是,虽然绝对定位元素脱离的标准文档流,但是它依然会受到父元素影响哦,比如line-height和text-align属性等。
1.跟随性
绝对定位的元素脱离标准文档流之后,并不是跑到了任意的位置,而是跟在前一个没有添加absolute或者fixed值的元素后面或者下面。
不过在设置了left/top/bottom/right这些值之后,它相对位置的参照元素便是离它最近的定位(absolut/fixed/relative)元素
2.触发BFC效果
绝对定位的元素会触发BFC效果,使得inline元素也能让宽高和垂直margin生效。
3.具体用处
通过设置top、right、bottom、left四个值大小,调整元素距离四个方向的值,使得元素拉伸,来实现我们想要的效果。
0.left/right与width
绝对定位元素,left/right可以和width同时存在,不过最终元素宽度为width值。
给绝对定位元素同时设置left: x; right: x后,其效果更像是给绝对定位元素添加了一个虚拟不存在的父元素。
比如有一个绝对定位元素div,div设置 left: 0; right: 0,则div便多了一个width: 100%的虚拟不存在的父元素,而div的宽度便是100%,如果给div再设置一个width属性,那么div的宽度便等于width值了,这时给div添加margin:0 auto; 便能让div居中。
- <div class="page">
- 包裹元素
- <div class="backTop">设置了width值的绝对定位元素</div>
- </div>
- .page {
- width: 800px;
- height: 1000px;
- background-color: #ccc;
- margin: 0 auto;
- }
- .backTop {
- width: 100px;
- height: 200px;
- background-color: #f34;
- position: absolute;
- left:;
- right:;
- margin: 0 auto;
- }
1.实现全屏遮罩效果
- <div class="wrap">
- 这是一个半透明遮罩
- </div>
- * {margin:; padding:;}
- .wrap {
- position: absolute;
- left:;
- top:;
- right:;
- bottom:;
- background-color: rgba(0,0,0,.5);
- color: #fff;
- }
2.使用absolute实现fixed效果
在移动端,使用fixed布局,有时候会遇到一些位置跳动的问题,这个时候通常可以使用absolute来代替实现,解决问题
- <div class="wrap">
- <div class="main">
- <ul class="list">
- <li class="item"></li>
- <li class="item"></li>
- <li class="item"></li>
- <li class="item"></li>
- <li class="item"></li>
- <li class="item"></li>
- <li class="item"></li>
- <li class="item"></li>
- </ul>
- </div>
- <div class="footer">
- 这里是底部
- </div>
- </div>
- * {margin:; padding:;}
- html, body {
- height: 100%;
- }
- .wrap {
- height: 100%;
- overflow: auto;
- }
- .item {
- height: 70px;
- margin-bottom: 10px;
- background-color: #ccc;
- }
- .footer {
- position: absolute;
- left:;
- right:;
- bottom:;
- background-color: #5a3;
- }
3.宽高自适应的九宫格效果
这是从张鑫旭大哥的文章里看见的,虽然没用过这种布局,不过感觉挺不错的
- <div class="page">
- <div class="list" data-index="1"></div>
- <div class="list" data-index="2"></div>
- <div class="list" data-index="3"></div>
- <div class="list" data-index="4"></div>
- <div class="list" data-index="5"></div>
- <div class="list" data-index="6"></div>
- <div class="list" data-index="7"></div>
- <div class="list" data-index="8"></div>
- <div class="list" data-index="9"></div>
- </div>
- html, body { height: 100%; margin:; }
- .page {
- position: absolute;
- left:; top:; right:; bottom:;
- }
- .list {
- float: left;
- height: 33.3%; width: 33.3%;
- position: relative;
- }
- .list:before {
- content: '';
- position: absolute;
- display:block;
- /*height:100%;*/
- /*width:100%;*/
- left: 10px; right: 10px; top: 10px; bottom: 10px; /* 这里通过设置left、right、top、bottom来拉伸元素,如果设置height和width属性,则会优先使用width和height */
- border-radius: 10px;
- background-color: #cad5eb;
- }
- .list:after {
- content:attr(data-index);
- position: absolute;
- height: 30px;
- left:; right:; top:; bottom:;
- margin: auto;
- text-align: center;
- font: 24px/30px bold 'microsoft yahei';
- }
CSS属性之absolute的更多相关文章
- css属性的选择对动画性能的影响
现在手机的占比越来越高,各种酷炫页面层出不穷,这些特效都离不开css动画.说到css动画,主流的情况也就无非这两大类:位移和形变.而我们在写一个动画特效的过程中,如何去提升它的性能呢?当然首先我们需要 ...
- CSS中浏览器开发商特定的CSS属性
浏览器制造商(像Microsoft.Mozilla等,还有WebKit的后台人员等)通常会为他们的浏览器增加新的功能来测试新的特性, 或者实现一直在考虑但还没有得到标准组织批准的CSS扩展.在这些情况 ...
- CSS样式----图文详解(二):css属性
主要内容 CSS的单位 字体属性 文本属性 背景属性 列表属性 盒子模型 定位属性:position.float.overflow.z-index等 导航栏的制作 鼠标的属性cursor 滤镜的介绍 ...
- CSS position relative absolute fixed
position属性absolute与relative 详解 最近一直在研究javascript脚本,熟悉DOM中CSS样式的各种定位属性,以前对这个属性不太了解,从网上找到两篇文章感觉讲得很透彻 ...
- HTML编码规则、CSS属性声明顺序--简介
From AmazeUI:http://amazeui.org/getting-started/html-css-guide HTML 属性顺序 HTML 属性应当按照以下给出的顺序依次排列,确保代码 ...
- 界面设计常用CSS属性
CSS常用属性整理: 1 字体属性 font-family 设置使用的字体 font-style 设置字体的样式,是否斜体 font-variant 设置字体的大小写 font-weight 设置字体 ...
- CSS 属性 - position讲解
postion 属性定义了一个元素在页面布局中的位置以及对周围元素的影响.该属性共有5个值: 1. position: static2. position: inherit3. position: r ...
- 十个实用但IE不支持的CSS属性
对IE浏览器尤其是IE6的抱怨基本已进入麻痹状态,偶尔甚至产生非常消极的想法:这个世界只有一个浏览器就好了,哪怕这唯一的浏览器就是IE6.当然,这样的想法是非常病态的,马上打消.本文里面,介绍了10个 ...
- CSS属性(常用的属性)
CSS属性(常用的属性)http://www.w3school.com.cn/cssref/index.asp 一:文本与字体属性 1.字体属性 (1):font-size:字体的大小(例如:font ...
随机推荐
- windows系统SVN和apache的下载和安装
原文:windows系统SVN和apache的下载和安装 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://ejb3.blogbus.com/logs/107443052. ...
- 读书笔记—CLR via C#章节11-13
前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...
- 编解码器的学习笔记(十):Ogg系列
Ogg是一个自由和开放的标准容器格式,由Xiph.Org 维修基金. Ogg格式不受软件专利的限制,它的目的是有效地处理高品质的流媒体和数字媒体. Ogg意指一种文件格式,能够纳入各式各样自由和开放源 ...
- QTP脚本不能录制怎么办?
QTP是基于VBS脚本语言的,大部分VBS脚本都能在QTP上运行,只是在一些细节上略有不同,比如说VBS上停止用sleep,QTP上用wait.QTP的强大之处在于对程序窗口的操作,有很多针对窗体的属 ...
- 输出,变量的使用,子查询,逻辑语句,循环,case..when..then..end多分支语句,Exists(判断存在)
--------------输出----------------print 'hello world'--以文本形式输出select 'hello world'--以网格形式输出,也可以设置成以文本形 ...
- AngularJS学习笔记filter
filter是对数据进行过滤操作,比如按某个字段搜索.格式化数据等等,是一个非常有用的接口.下面就简单介绍下它的用法. AngularJS自带的filter接口,|是filter的分隔符,参数用:分隔 ...
- cvs vss svn和git比较
cvs vss svn和git比较 特征 CVS Git Mercurial Subversion 是否原子提交 CVS: 没有. CVS提交不是原子的 Git: 是的. 提交都是原子的 Mercur ...
- Web Api中实现Http方法(Put,Post,Delete)
在Web Api中实现Http方法(Put,Post,Delete) 系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在Web Api中,我 ...
- 后台XML处理
public void GetInfo() { string message = @"<?xml version='1.0' encoding='utf-8' ...
- discuz 门户功能增加自定义keywords字段
discuz的门户的“发布文章”功能中,没有自动添加keywords字段,结果在文章页面中的meta的keywords中只显示标题,这样对于seo及其不利,今天整理了添加keywords字段方法. 一 ...