以下只是少数的知识点 没有系统的描述
css中一个很重要的作用就是布局html中的元素(认准自己的位置)
定位(position属性)
一般的不同的标签都有默认的布局:
标签都是按普通流布局(从上到下,从左到右)+盒子模型(padding border margin)+ width/height(这个情况比较复杂)
block元素(div nav header footer article aside p):独占一行 width/height 都可以设置
incline元素(a img span ):元素里的内容多大 就有多大 width/height 不可以设置
position的值:
static
就是默认的布局形式
relative
相对布局中相对的是自己在普通流的相对位置 由于又要重新定位所以多了四个属性:top left right bottom 用来丈量偏离原来的位置还有一个特点:元素在普通流中的位置还在
absolute
绝对定位中的绝对是针对包含离自己最近的已经定位的父元素(static不算 因为绝对定位中普通流不存在) incline变成block
fix
和绝对定位一样 但相对于浏览器的窗口而言
浮动(float)
这是一个比较有意思的话题,浮动的最直接效果就是文字环绕图片 但要实现这个功能有产生了别的规定和用途
position属性 static,relative都是不脱离普通流的 absolute,fix是脱离普通流的 而float即脱离也不脱离 脱离——浮动到父元素或上一个浮动元素 不脱离——在父元素里占有空间 影响位于和他同一个父元素的下一个元素(如:文字环绕)
详细见:http://www.cnblogs.com/coffeedeveloper/p/3145790.html
一些有趣的问题
三角形的产生:知乎的关于用CSS产生三角形的回答