css之定位元素
来源:互联网 发布:java log4j slf4j 编辑:程序博客网 时间:2024/05/01 13:54
元素的定位是掌握css技术的核心,只有熟练运用元素定位才能用css创造出专业水准的页面布局。
定位元素的技术包括:
- box model
- float
- position
所谓盒模型,就是指每一个html元素会在页面上生成一个盒子,将该元素包围其中。html元素其实是由一堆的盒子构成的。
p.test { width: 200px; height: 200px; padding: 10px; border: 10px; margin: 10px;}
如上代码生成的盒子,width和height属性控制内容区的大小(即有字的区域),padding属性控制内容边界到边框内边界的大小,border属性控制边框的大小,margin属性控制边框外边界到相邻盒子的距离。可以把盒子模型看成是一个戒指盒,戒指本身占据的区域是真正的内容区域,戒指和盒子之间还有很大的空间由其他材料填充,这一部分可以看成是padding的内容,盒子本身的厚度自然是border的内容了。
float是实现页面多栏布局的关键技术。最初CSS设计float属性的主要目的是为了实现文本绕排图片的效果,不过后来发现这个属性成为了创建多栏布局的最简单的方式。为元素添加float属性,即可让其脱离正常文档流。形式上相当于从block元素变成inline元素,特点是不再占据一整行的空间。
使用float的时候会有一个问题,那就是浮动元素脱离了文档流,其父元素就会失去对他的控制,所以不再包围此元素,这种情况很多时候并不是我们想要的。这里介绍三种方法让浮动元素不脱离父元素,三种方法各有适用范围,应结合实际情况选择。
一:为父元素添加属性 overflow: hidden
二:同时浮动父元素
三:添加非浮动的清除元素
第三种方法有两种实现形式,一是简单的在html标记中添加一个子元素,并给他应用clear属性。由于没有默认的样式,不会引入多余的空间,div元素很适合用在这里。
<section> <img src="images/rubber.jpg"> <p>It's fun to float</p> <div class="clear"></div></section><footer>I'm the footer.</footer>然后就是为该div添加clear属性了
.clear { clear: left;}
接下来介绍第二种实现形式,这是一个只用CSS实现清除的方法,并不需要在结构文档中添加多余的元素。
首先为父元素添加属性class="clearfix",然后再使用这个神奇的clearfix规则。
.clearfix:after { content: "."; display: block; height: 0; visibility: hidden; clear: both;}
最后介绍position属性,这是CSS布局的核心。position属性有四个值:static, relative, absolute, fixed,默认值是static。这里详细介绍relative和absolute两个属性值。
相对定位:给元素添加relative属性后,该元素会相对于它原来在文档流中的位置发生位移,利用top和left属性设置相对位移的大小。位移之后,该元素可能会遮住旁边的元素,而该元素的原始位置会空着,并不会被旁边的元素抢占。也就是说原始的文档流并没有被破坏,变的仅仅是该元素的位置。使用相对定位的关键是要考虑到元素原来的空间,合理的使用margin等属性,避免其他元素被重新定位的元素遮住。
绝对定位:绝对定位和相对定位的区别有两个。一是绝对定位的元素会彻底脱离文档流,也就是说绝对定位后,该元素的原始位置不会再空着了,其下方的元素会往上填充这个空出来的地方。另一个区别是绝对定位根据顶级元素body在定位,而相对定位根据元素的原始位置定位。通过top和left设定的偏移值,决定了元素相对于body元素的位置偏移多远。有的时候我们希望绝对定位元素不要根据body,而是根据其父元素来定位,要实现这个效果,只需要将相应的父元素的position属性值设定为relative就可以了。
固定定位:固定定位和绝对定位非常相似,区别只有一个。即固定元素根据视口来定位,而绝对定位根据body来定位。因此固定定位之后的元素不会随页面滚动而滚动,这个特性并不常用,最常见的情况是用它创建不随页面滚动而移动的导航元素。
- css之定位元素
- CSS之元素定位
- CSS学习之 元素定位
- CSS元素之position 定位
- 元素定位方式 之-----CSS属性定位
- CSS:元素定位之position属性
- Web元素定位之CSS Selector
- CSS定位之元素的层级
- CSS-- 元素的定位
- CSS元素定位
- css元素定位
- CSS元素的定位
- CSS控制元素定位
- css selector定位元素
- 用CSS定位元素
- CSS Selector定位元素
- 元素定位---使用 CSS 选择器定位元素
- selenium元素定位之css:contains的使用
- 优化数据页面(32)——显示在一屏内
- VS2010安装MSDN(转载)
- java + selenium测试框架(之上传)
- Java编程:比对两个文本文件,标记相同和不同之处
- 第一章 Vim快捷键总结
- css之定位元素
- ubuntu Apache2 如何 设置 HTTPS
- 超简单:三秒钟搞定 Axure制作圆形头像或按钮图标!!
- 同步/异步与阻塞/非阻塞的区别
- opencart的MVC框架的结构
- 动态链接库和静态链接库的区别
- plsql执行计划介绍
- 关于3D Touch从app图标快速入口篇.
- java类加载器总结