CSS定位

position

position:static | relative | absolute | fixed | center | page | stickycss

默認值:statichtml

static:對象遵循常規流。toprightbottomleft等屬性不會被應用。css3

relative:對象遵循常規流,而且參照自身在常規流中的位置經過toprightbottomleft屬性進行偏移時不影響常規流中的任何元素。瀏覽器

absolute:對象脫離常規流,使用toprightbottomleft等屬性進行絕對定位,盒子的偏移位置不影響常規流中的任何元素,其margin不與其餘任何margin摺疊。spa

fixed:對象脫離常規流,使用toprightbottomleft等屬性以窗口爲參考點進行定位,當出現滾動條時,對象不會隨着滾動。code

center:對象脫離常規流,使用toprightbottomleft等屬性指定盒子的位置或尺寸大小。盒子在其包含容器垂直水平居中。盒子的偏移位置不影響常規流中的任何元素,其margin不與其餘任何margin摺疊。(CSS3htm

page:盒子的位置計算參照absolute。盒子在分頁媒體或者區域塊內,盒子的包含塊始終是初始包含塊,不然取決於每一個absolute模式。(CSS3對象

sticky:對象在常態時遵循常規流。它就像是 relative 和 fixed 的合體,當在屏幕中時按常規流排版,當捲動到屏幕外時則表現如fixed。該屬性的表現是現實中你見到的吸附效果。(CSS3blog

示例:utf-8

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<style>
#position {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150px;
    height: 40px;
    margin: -20px 0 0 -75px;
    padding: 0 10px;
    background: #eee;
    line-height: 2.4;
}
</style>
</head>
<body>
<div id="position">水平垂直居中的對象</div>
</body>
</html>

 演示

 

z-index

z-index: auto | <integer>

默認值:auto

適用於:定位元素。即定義了position爲 relative | absolute | fixed | center | page | sticky 的元素

auto:

元素在當前層疊上下文中的層疊級別是0。元素不會建立新的局部層疊上下文,除非它是根元素的層疊上下文。
<integer>
用整數值來定義堆疊級別。能夠爲負值。

說明:

檢索或設置對象的層疊順序。
  • z-index用於肯定元素在當前層疊上下文中的層疊級別,並肯定該元素是否建立新的局部層疊上下文。
  • 每一個元素層疊順序由所屬的層疊上下文和元素自己的層疊級別決定(每一個元素僅屬於一個層疊上下文)。
  • 同一個層疊上下文中,層疊級別(即z-index屬性值)大的顯示在上面,反之顯示在下面。
  • 同一個層疊上下文中,層疊級別相同的兩個元素,依據它們在HTML文檔流中的順序,寫在後面的將會覆蓋前面的。
  • 不一樣層疊上下文中,元素的顯示順序依據祖先的層疊級別來決定,與自身的層疊級別無關。
  • 當z-index未定義或者值爲auto時,在IE6,7下會建立新的局部層疊上下文,而在高級瀏覽器中,按照規範不產生新的局部層疊上下文
  • 必須定義position屬性值爲 relative | absolute | fixed | center | page | sticky,此取值方可生效

示例:

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />

<style>
.z1,.z2,.z3 {
    position: absolute;
    width: 200px;
    height: 100px;
    padding: 5px 10px;
    color: #fff;
    text-align: right;
}
.z1:hover,.z2:hover,.z3:hover {
        background:#0000FF
    }
.z1 {
    z-index: 1;
    background: #000;
}
.z2 {
    z-index: 2;
    top: 30px;
    left: 30px;
    background: #C00;
}
.z3 {
    z-index: 3;
    top: 60px;
    left: 60px;
    background: #999;
}
</style>
</head>
<body>
<div class="z1">z-index:1</div>
<div class="z2">z-index:2</div>
<div class="z3">z-index:3</div>
</body>
</html>
            

演示

 

top bottom left right

參數:auto | <length> | <percentage>

默認值:auto

適用於:定位元素。即定義了position爲 relative | absolute | fixed | center | page 的元素,static時候無效

 

取值:

 

auto:
無特殊定位,根據HTML定位規則在文檔流中分配
<length>
用長度值來定義距離頂部的偏移量。能夠爲負值。
<percentage>
用百分比來定義距離頂部的偏移量。百分比參照包含塊的高度。能夠爲負值。

 示例:

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />

<style>
.test {
    position: absolute;
    bottom: 0;
    left:50%;
    width: 200px;
    height: 100px;
    margin: -50px 0 0 -100px;
    padding: 0px 25px;
    background: #c00;
    color: #fff;
    line-height: 5;
}
</style>
</head>
<body>
<div class="test">我將出如今瀏覽器底部</div>
</body>
</html>
            

演示

相關文章
相關標籤/搜索