1.定位


  定位,允许定义元素框相对于正常位置(或父元素、亦或浏览器窗口)所处的位置。css中提出了

浮动,浮动不完全是定位、也绝非正常流布局

  css定位机制:普通流、浮动、绝对定位。默认,所有框都在普通流中定位。使用属性position,定义四种类型的定位。
  ★static

    元素框正常产生(default)

  ★relative

    元素框偏移

  ★absolute

    脱离正常流,定位后生成一个块级框;相对页面静止,覆盖于正常流之上

  ★fixed

    脱离正常流,较之浏览器静止,覆盖于正常流之上

<!-- 测试 -->
.elementPos{
    margin: 0px;
    padding: 0px;
    text-align: center;
    background: palevioletred;
    border: dashed palegreen;
    line-height: 4em;
    width: 17em;
    height: 6em;

    position: absolute;
    bottom: 30px;
    right: 30px;
}


1.1.定位:相对定位

  相对于默认位置

.element_pos{
position: relative;
left:33px;
}


1.2.定位:绝对定位
  相对于页面的位置

position: absolute;
top:533px;
right:5px;


1.3.定位:固定定位

  固定于浏览器相对位置

position:fixed;
bottom:15px;
left:1em;

  

1.4.溢出:滚动展示

overflow: scroll;


1.5.覆盖:Z-index
  改变默认覆盖顺序,放到正常流下边。
css 定位_css

position:absolute;
left:0px;
top:0px;
z-index:-1


1.6.透明度:opacity
  取值范围0-1

opacity 0.3;


1.7.浮动

1.7.1.浮动
  浮动框,剥离于正常的文档普通流。浮动,可以向右、向左移动,直到卡住(外框、浮动框)。

1.7.2.清理
  由于元素浮动,导致元素堆积。需要阻止这样的堆积,可以应用clear属性。clear属性取值:left、right、both、none,表示框的某边不要紧挨着浮动框(none是默认值,inherit从父元素继承float属性的值)。



2.实例


2.1.简单布局

  一个不用表格实现的网页布局,使用 float 属性

<html>
<head>
    <style type="text/css">
        div.container
        {
            width:100%;
            margin:0px;
            border:1px solid gray;
            line-height:150%;
        }
        div.header
        {
            padding:0.5em;
            color:white;
            background-color:gray;
            /*clear:left;*/
        }
        div.footer
        {
            padding:0.5em;
            color:white;
            background-color:gray;
            clear:left;
        }
        h1.header
        {
            padding:0;
            margin:0;
        }
        div.left
        {
            float:left;
            width:160px;
            margin:0;
            padding:1em;
        }
        div.content
        {
            margin-left:190px;
            border-left:1px solid gray;
            padding:1em;
        }
    </style>
</head>
<body>

    <div class="container">
    
        <div class="header"><h1 class="header">W3School.com.cn</h1></div>
    
        <div class="left"><p>"Never increase, beyond what is necessary, the number
             of entities required to explain anything." William of Ockham (1285-1349)</p></div>
    
        <div class="content">
            <h2>Free Web Building Tutorials</h2>
            <p>W3School.com.cn - The Largest Web Developers Site On The Net!</p>
            <p>W3School.com.cn - The Largest Web Developers Site On The Net!</p>
            <p>W3School.com.cn - The Largest Web Developers Site On The Net!</p>
        </div>
    
        <div class="footer">Copyright 2008 by YingKe Investment.</div>
    </div>

</body>
</html>


2.2.position

  使用 position 属性布局

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="css/position_relative_absolute.css" />
    </head>
    <body>
        <div class="returntop"><p>R</p></div>
        <div class="header"></div>
                
        <div class="content">
            <p>正文</p>
            <div class="auto">
                <div class="more">
                    <a href="#"><p>more...</p></a>
                </div>
                
            </div>
            
            <div class="auto">
                <div class="more">
                    <a href="#"><p>more...</p></a>
                </div>
                
            </div>
            
            <div class="auto">
                <div class="more">
                    <a href="#"><p>more...</p></a>
                </div>
                
            </div>
        </div>
        
        
        <div class="footer"></div>
    </body>
</html>

  样式表,效果在 more, auto 实现相对布局;header,returntop 实现固定布局。

*{
    margin: 0;
    padding: 0;
    border: 0;
}

p{
    color: blue;
}

body{
    background: darkgray;
    width: 100%;
    margin: 0px auto;
}

.returntop{
    width: 27px;
    height: 27;
    background: lightseagreen;
    position: fixed;
    right: 35px;
    bottom: 75px;
}

.returntop p{
    margin: 0 auto;
    text-align: center;
    line-height: 19px;
}

.header{
    height: 50px;
    width: 100%;
    position: fixed;
    top: 0;
    background: chartreuse;
    margin: 0px auto;
    z-index: 10;
}

.content{
    width: 1190px;
    margin: 0px auto;
    /*background: black;*/
}


.auto{
    background: brown;
    width: 1170px;
    height: 590px;
    position: relative;
    margin: 20px auto;
    padding: 5px;
    position: relative;
}

.more{
    height: 27px;
    width: 63px;
    background: blueviolet;
    position: absolute;
    right: 15px;
    top: 21px;
}

.more p{
    padding: 5px;
    line-height: 19px;
}