美文网首页
CSS定位总结

CSS定位总结

作者: clfeng | 来源:发表于2017-06-09 11:43 被阅读0次

CSS的position主要有以下几个属性:static,relative,absolute,fixed,CSS3又增加了center | page | sticky,三个属性。对于css3大多数浏览器也都还不支持,也没怎么用到就不说了。至于position的了解,个人觉得首先应该先了解一下什么是块级元素,内联元素,以及内联块元素,然后再开始了解position属性在页面布局中的应用,以及影响。

三种元素类型的特点:

  1. 块级元素:在页面中独占一行,可以设置元素的高度,宽度
  2. 内联元素:不独占一行,多个内联元素可以在同一行中,直到这一行的的宽度无法继续容下内联元素位置。不能设置元素的宽度,高度。
  3. 内联块:介于以上两者之间,在内联元素的特性上改变了可以设置元素的快读与高度。

Position属性:

  1. Static:默认属性,按标准文档流布局,(标准文档流布局方式,从上到下,从左到右,结合元素的特性,块级元素?内联元素?等一行行的从上到下渐渐占位,每行之内又是从左到右逐渐占位)
  2. Relative:设置该属性的元素,依旧占据着其原本在标准文档流中的位置,但可以通过top,left等属性进行位置的偏移,偏移的位置是相对于元素原本在标准文档流中所占的位置而言
  3. Absolute:设置该属性的元素脱离了标准文档流,即在标准文档流中不占位,其位置是相对于其第一个设置了position属性的祖先而言(static这个默认属性除外,即设置为static属性也视为没有设置),同时需要注意的是,如果设置了absolute属性的元素,没有设置top,left等属性,此时的元素虽然脱离了文档流但是其位置却是在其父元素的左上角,而不是在设置了position属性的祖先元素的左上角,当时有top,left等属性的时候,变成了先对与第一个设置了position属性的祖先元素的的先对位置,可以自己稍微用html文档演示一下:以下有个截图
image.png image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
    <style type="text/css">
    .box1{
        height: 500px;
        width: 500px;
        background-color: #fff;
        border: solid 1px #ccc;
        position: relative;
    }
    .box2{
        height: 200px;
        width: 200px;
        margin-top: 50px;
        margin-left: 50px;
        background-color: blue; 

    }
    .box3{  
        height: 100px;  
        width: 100px;   
        background-color: #ccc;
        position: absolute;
        top: 0;
    }
    .box4{
        height: 100px;  
        width: 100px;   
        background-color: yellow;
        /*position: absolute;*/
        /*top: 0;*/
        /*float: right;*/
    }
    </style>

</head>
<body>
    <div class="box1">
        <div class="box2">
            <div class="box3"></div>
            <div class="box4"></div>
        </div>
    </div>
</body>
</html>

  1. Fixed:Fixed属性跟absolute属性的性质基本是一样的,不同点再于fixed属性的位置是想对于window窗口而言的而不是相对于其设置了position属性的父元素而言。常见的用法是用来固定导航以及页脚。

当position转角遇到display、margin collapse、overflow、float这些特性时?

  • 如果元素的display为none,那么元素不被渲染,position,float不起作用;
  • 如果元素拥有position:absolute;或者position:fixed;属性那么元素将为绝对定位,float不起作用
  • 如果元素float属性不是none,元素会脱离文档流,根据float属性值来显示.
  • 有浮动,绝对定位,inline-block属性的元素,margin不会和垂直方向上的其他元素margin折叠.

附加:

  • 设置了float的元素会表现出inline-block元素的特性
image.png image.png
  • 当float和position:absolute被同时设置时,后设置的会在更上层
FastStoneEditor1.png FastStoneEditor1.png

相关文章

  • CSS定位总结

    CSS的position主要有以下几个属性:static,relative,absolute,fixed,CSS3...

  • CSS定位总结

    五、定位 1、定位的简介 定位(position),定位是一种更加高级的布局手段,通过定位可以将元素摆放到页面的任...

  • CSS学习的一部分内容

    本篇是将CSS中的表格,轮廓,定位,浮动的学习进行的总结。完全个人理解,仅供参考。(耶!!!) CSS表格 CSS...

  • css定位

    CSS 定位 (Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供...

  • CSS 定位

    CSS 定位 (Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供...

  • CSS 定位 (Positioning)

    CSS 定位 (Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供...

  • css定位方式总结

    什么是文档流? 按w3c规范中这个其实叫normal-flow,即普通流,只是国内翻译者习惯将其翻译成文档流 定义...

  • css 定位 浮动

    定位 1 . css 定位:改变元素在页面上的位置2 . css 定位机制:普通流浮动绝对布局3 . css 定位...

  • CSS定位

    CSS定位(Positioning)允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供了一些属性...

  • CSS中的几种定位

    CSS中常用的定位有 普通定位,相对定位 绝对定位、fixed定位 浮动 1、普通定位和相对定位 css中的元素有...

网友评论

      本文标题:CSS定位总结

      本文链接:https://www.haomeiwen.com/subject/kzixqxtx.html