小薇学院任务四笔记1(再谈定位)

这篇文章主要是对任务三笔记1(定位)一文的补充,如果想获取更加详细的定位知识,可以先阅读<a href="http://www.jianshu.com/p/4ef59dc9b967">任务三笔记1(定位)</a>
清除浮动
1.overflow技巧
一种清除浮动的技巧是使用overflow属性。在具有浮动元素的父容器中设置"overflow"的属性值为"auto",这样父容器就会有一个高度存在。
在IE6中,父容器是需要设置一个"width"和一个"height"。因为高度可能是一个变量,宽度为100%,他们将能正常的工作。使用“overflow:auto;”,在IE浏览器中会给元素添加滚动条,这样一来,最好是直接使用“overflow:hidden;”来清除浮动。
但是使用"overflow"技巧清除浮动,确实存在一些缺点。例如:你想要给容器内的元素添加一个盒子阴影和制作一个下拉菜单。就会发现阴影和菜单会被切断在父元素之内。
2.clearfix技巧
"clearfix"技巧是基于在父元素上使用":before" 和":after"两个伪类。使用这些伪类,我们可以在父元素前后创建隐藏元素。防止子元素顶部和底部的外边距塌陷,使用"display: table"确保在IE6/7下的一致性。

.box-set:before,.box-set:after { 
  content: ""; 
  display: table;
}
.box-set:after { 
  clear: both;
}
.box-set { 
*zoom: 1;
}

很多情况下,你需要控制更多元素的位置,而且超过了浮动所能提供的范围,这个时候我们就需要发挥"position"属性的作用。"position"属性提供的五个不同属性值,每种属性值可以给元素提供不同的位置。
static
任务三笔记1(定位)有提过不在记录
relative
任务三笔记1(定位)有提过不在记录
absolute
当一个绝对元素有固定的高度和宽度,并且盒子同时设置了"top" 和"bottom"时,"top"更具有优先级;当同时设置了"left" 和 "right"时,优先级取决于它的页面使用的语言,例如,如果你的页面是英文页面,那么"left"属性优先级高,如果你的页面是阿拉伯语,那么"right"的位移属性优先级高。
当一个绝对定位元素没有明确的指明高度和宽度,同时使用盒子位移的"top" 和"bottom"属性时,会使整个元素的高度跨越整个容器。同样的,当这个元素同时使用位移"left" 和 "right"属性值,会使整个元素宽度跨越整个容器。
fixed
固定定位最常用于在页面创建固定头部、或者脚部、或者一个固定的侧栏。注意如何设置"left" 和 "right"两个盒子位移,使得"页脚"跨越了页面的整个宽度,而不需要使用margin、padding和border来破坏盒模型就做到了收缩自如。

HTML
<footer>Fixed Footer</footer>

CSS
footer{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
}

z-index
通常认为Web页面是二维页面,显示的元素都在X轴Y轴上。当你的元素有定位的时候,它们有时候会放置在另一个元素的顶部。要改变这些元素是一个怎么样的层叠顺序,要知道Z轴,z轴是用"z-index"来控制的。
元素的"z-index"值越高,将会出现在越上面,不管元素在DOM的哪个位置。
给元素设置"z-index"属性,首先要在这个元素上设置了"position"属性值为"relative"、"absolute"或者"fixed"之一。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,682评论 1 92
  • 1.盒模型是CSS的基石之一,它指定元素如何显示以及(在某种程度上)如何相互交互。页面上的每个元素被看作是一个矩形...
    garble阅读 3,561评论 0 0
  • 当在这一个页面上实现布局和定位有几种不同的技术。使用哪种技术,很大程序上取决于内容和目标页面,因为有很多技术比别人...
    lulu_c阅读 4,804评论 0 5
  • 一、文档流的概念指什么?有哪种方式可以让元素脱离文档流? 1、文档流指的是元素在排列布局中所占用的位置,具体的说是...
    鸿鹄飞天阅读 4,168评论 0 0
  • append="tree"不正常 append=tree 的bug 单位只能是px或者纯数字 Proposal- ...
    松哥888阅读 2,622评论 0 0