zoukankan      html  css  js  c++  java
  • CSS中的定位

    CSS中的定位大概可以分为:普通定位,浮动定位,绝对定位。除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定。

    posiion的属性呢又有四种:

    static:手册的解释“元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。”这个是各个定位坐标并不对它产生作用。该属性是浏览器的默认属性。

    relative:元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。

    absolute:元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

    这里,relative和absolute之间的区别在于:relative移动后它之前停留的位置任然会被保留,而absolute移动之后它之前停留的位置更本不见了!

    fixed:元素框会偏移到视窗的某个位置,及时你下拉滚动条,它任然存在定位后的某个位置。仅仅根据你的视窗来定位的。

    浮动:float

    使用float定位一个元素有float:left;&float:right;两种值。这种定位只能在水平坐标定位,不能在垂直坐标定位。而且让下面的元素浮动环绕在它的左边或者右边。
    例如:
    #div.a {
    float:left;
    200px;
    }
    <div id="a">第一行</div>
    <div >第二行<div>
    原本两个DIV都是各占一行的,
    但第一行的div向左浮动后,它就不再具有独占一行的属性,而第二行就跟排在后的空位置。
    那么浮动后,我也可以使用margin外边局调整浮动后的元素
    如果让一个元素float:left;另一个float:right;控制好他们的宽度,(如果两者宽度能超过屏幕大小。则会自动换行)就能实现两列的布局效果:
    #div-a{
    float:left;
    250px;
    }
    #div-b {
    float:left;
    250px;
    }
    <div id="a">第一行</div>
    <div id="b">第一行</div>
    清除浮动则是使用clear:right/left/both.作用是清除上一个元素浮动的作用,让它浮动失效!
    #div-a{
    float:left;
    250px;
    }
    #div-b {
    clear:left;
    250px;
    }
    这样它不再具有浮动效果了!
  • 相关阅读:
    iphone开发之绘制地图线路
    (ios开发)在MapKit地图上添加注释
    IOS开发地图 (mapkit)实验
    iOS开发之在地图上绘制出你运行的轨迹
    iOS开发之在地图上绘制出你运动的轨迹
    iOS地图位置开发
    IOS开发中的数据库的学习
    Iphone开发 有关 Sqllist的用法
    MapKit
    iphone开发 有关 Navigation Bar 和 UITableView 的用法(代码加说明 呵呵)
  • 原文地址:https://www.cnblogs.com/rengpiaomiao/p/4489638.html
Copyright © 2011-2022 走看看