css中的定位问题

定位:

问题:

现在在页面上有两个盒子,其中第二个盒子将第一个盒子压住了一半。

作用:

解决页面上盒子与盒子之间的==层叠问题==。

使用:

position:(位置)

PS:

==********如果定位的盒子没有宽高,那么默认宽高为****0;****==
如果给子盒子设置宽度为100%,那么这个子盒子的宽与父盒子一样宽。

取值:

static:静态的

position:static;静态定位。
所有的标准流中的元素都是静态定位。

relative:相对的

position:relative:相对定位。
****==****使用的时候还要配合:****top,left,right,bottom****来使用。****==****
特点: 如果设置了相对定位并且设置了trbl属性,那么将来盒子会以盒子原本的位置发生偏移。

以.two盒子原来的位置发生偏移,在水平方向向右移动了20像素,在垂直方向也向下移动 了20个像素。
==1.0相对于原来的位置进行平移。
2.0设置了相对定位的元素在页面上占据了位置(没有脱离标准流)。
3.0如果没有trbl会以标准流显示==

absolute:绝对的

position:absolute//绝对定位
使用的时候也要配合trbl属性来使用
特点:
1.0如果这个元素没有父元素,那么将来trbl是相对于body来定位的
2.0如果绝对定位的元素有父元素,但是==父元素没有定位,那么这个时候trbl还是相对于body来定位的。==
3.0如果绝对定位的元素有父元素,而且==父元素有定位(非static)==,那么这个绝对定位的元素==偏移是以自己的父元素为基础。==
4.0绝对定位之后的元素在页面不会占据位置(绝对定位以后的元素==会脱离标准流==)。
3.0==如果没有trbl会以标准流显示==

将来在写页面的时候==用的最多==的既不是绝对定位也不是相对定位,而是绝对定位与相对定位一起使用:(规范)==子绝父相==。
子元素使用绝对定位,父元素使用相对定位。
**********案例:**********

***********小盒子在大盒子中要定位并且水平居中***********:

==先left: 50%,==将小盒子在大盒子平移大盒子的一半,再设置==margin-left:-(小盒子宽度的一半),注意一定是负数,==那么将来小盒子在大盒子中就可以水平居中了。

fixed:固定

position:fixed。
使用的时候也要配合trbl属性来使用
特点:
不管页面有多大,trbl永远是==相对于浏览器的边框来的==。
固定定位的元素==也脱离了标准流==(不在页面上占据位置)
==没有trbl在页面上不会显示。==

z-index与定位一起使用:

作用:可以==设置盒子的层级==。
注意:
1.0z-index可以取所有的整数(负整数,0,正整数)
2.0==z-index必须与定位一起使用。==

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,682评论 1 92
  • 当在这一个页面上实现布局和定位有几种不同的技术。使用哪种技术,很大程序上取决于内容和目标页面,因为有很多技术比别人...
    lulu_c阅读 4,804评论 0 5
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 5,895评论 0 6
  • 最好的器材 应该就是你随身携带的手机了
    伐伐Eve阅读 2,286评论 8 10
  • 军训的日子
    心缘佛兮阅读 1,605评论 0 0